blender/intern/cycles/util/CMakeLists.txt
Sergey Sharybin 73f2056052 Cycles: Add BVH8 and packeted triangle intersection
This is an initial implementation of BVH8 optimization structure
and packated triangle intersection. The aim is to get faster ray
to scene intersection checks.

    Scene                BVH4      BVH8
barbershop_interior    10:24.94   10:10.74
bmw27                  02:41.25   02:38.83
classroom              08:16.49   07:56.15
fishy_cat              04:24.56   04:17.29
koro                   06:03.06   06:01.45
pavillon_barcelona     09:21.26   09:02.98
victor                 23:39.65   22:53.71

As memory goes, peak usage raises by about 4.7% in a complex
scenes.

Note that BVH8 is disabled when using OSL, this is because OSL
kernel does not get per-microarchitecture optimizations and
hence always considers BVH3 is used.

Original BVH8 patch from Anton Gavrikov.
Batched triangles intersection from Victoria Zhislina.
Extra work and tests and fixes from Maxym Dmytrychenko.
2018-08-29 15:03:09 +02:00

138 lines
2.3 KiB
CMake

set(INC
..
../../glew-mx
)
set(INC_SYS
${GLEW_INCLUDE_DIR}
)
set(SRC
util_aligned_malloc.cpp
util_debug.cpp
util_ies.cpp
util_logging.cpp
util_math_cdf.cpp
util_md5.cpp
util_path.cpp
util_string.cpp
util_simd.cpp
util_system.cpp
util_task.cpp
util_thread.cpp
util_time.cpp
util_transform.cpp
util_windows.cpp
)
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
list(APPEND SRC
util_view.cpp
)
endif()
set(SRC_HEADERS
util_algorithm.h
util_aligned_malloc.h
util_args.h
util_atomic.h
util_boundbox.h
util_debug.h
util_defines.h
util_guarded_allocator.cpp
util_foreach.h
util_function.h
util_guarded_allocator.h
util_half.h
util_hash.h
util_ies.h
util_image.h
util_image_impl.h
util_list.h
util_logging.h
util_map.h
util_math.h
util_math_cdf.h
util_math_fast.h
util_math_intersect.h
util_math_float2.h
util_math_float3.h
util_math_float4.h
util_math_int2.h
util_math_int3.h
util_math_int4.h
util_math_matrix.h
util_md5.h
util_opengl.h
util_optimization.h
util_param.h
util_path.h
util_progress.h
util_projection.h
util_queue.h
util_rect.h
util_set.h
util_simd.h
util_sky_model.cpp
util_sky_model.h
util_sky_model_data.h
util_avxf.h
util_avxb.h
util_sseb.h
util_ssef.h
util_ssei.h
util_stack_allocator.h
util_static_assert.h
util_stats.h
util_string.h
util_system.h
util_task.h
util_texture.h
util_thread.h
util_time.h
util_transform.h
util_types.h
util_types_float2.h
util_types_float2_impl.h
util_types_float3.h
util_types_float3_impl.h
util_types_float4.h
util_types_float4_impl.h
util_types_float8.h
util_types_float8_impl.h
util_types_int2.h
util_types_int2_impl.h
util_types_int3.h
util_types_int3_impl.h
util_types_int4.h
util_types_int4_impl.h
util_types_uchar2.h
util_types_uchar2_impl.h
util_types_uchar3.h
util_types_uchar3_impl.h
util_types_uchar4.h
util_types_uchar4_impl.h
util_types_uint2.h
util_types_uint2_impl.h
util_types_uint3.h
util_types_uint3_impl.h
util_types_uint4.h
util_types_uint4_impl.h
util_types_ushort4.h
util_types_vector3.h
util_types_vector3_impl.h
util_vector.h
util_version.h
util_view.h
util_windows.h
util_xml.h
)
include_directories(${INC})
include_directories(SYSTEM ${INC_SYS})
add_definitions(${GL_DEFINITIONS})
cycles_add_library(cycles_util ${SRC} ${SRC_HEADERS})