Make openMP tests
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
cmake_minimum_required(VERSION 3.14)
|
cmake_minimum_required(VERSION 3.19)
|
||||||
|
|
||||||
project(raytracing_challenge
|
project(raytracing_challenge
|
||||||
VERSION 0.1
|
VERSION 0.1
|
||||||
DESCRIPTION "Raytracing Challenge in C++"
|
DESCRIPTION "Raytracing Challenge in C++"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
find_package(OpenMP)
|
||||||
|
|
||||||
add_subdirectory(raytracing)
|
add_subdirectory(raytracing)
|
||||||
add_subdirectory(apps)
|
add_subdirectory(apps)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.14)
|
cmake_minimum_required(VERSION 3.19)
|
||||||
|
|
||||||
project(main)
|
project(main)
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ add_executable(chapter_07 chapter_07.cpp)
|
|||||||
target_link_libraries(chapter_07 PRIVATE raytracing gcov)
|
target_link_libraries(chapter_07 PRIVATE raytracing gcov)
|
||||||
|
|
||||||
add_executable(chapter_09 chapter_09.cpp)
|
add_executable(chapter_09 chapter_09.cpp)
|
||||||
target_link_libraries(chapter_09 PRIVATE raytracing gcov)
|
target_link_libraries(chapter_09 PRIVATE raytracing gcov OpenMP::OpenMP_CXX)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.14)
|
cmake_minimum_required(VERSION 3.19)
|
||||||
|
|
||||||
project(raytracing)
|
project(raytracing)
|
||||||
|
|
||||||
|
|||||||
@@ -29,11 +29,14 @@
|
|||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
#include <omp.h>
|
||||||
|
|
||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
|
|
||||||
using namespace Raytracer;
|
using namespace Raytracer;
|
||||||
|
|
||||||
|
#pragma omp parallel for num_threads(omp_get_num_procs())
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
Camera::Camera(void) : m_h_size(0), m_v_size(0), m_field_of_view(0), m_half_width(0), m_half_height(0), m_pixel_size(0)
|
Camera::Camera(void) : m_h_size(0), m_v_size(0), m_field_of_view(0), m_half_width(0), m_half_height(0), m_pixel_size(0)
|
||||||
@@ -178,6 +181,7 @@ Canvas Camera::render(const World &a_world)
|
|||||||
{
|
{
|
||||||
Canvas the_image(m_h_size, m_v_size);
|
Canvas the_image(m_h_size, m_v_size);
|
||||||
|
|
||||||
|
#pragma omp parallel for shared(the_image)
|
||||||
for (int y = 0; y < m_v_size - 1; y++)
|
for (int y = 0; y < m_v_size - 1; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < m_h_size - 1; x++)
|
for (int x = 0; x < m_h_size - 1; x++)
|
||||||
|
|||||||
Reference in New Issue
Block a user