Blender Git Commit Log

Git Commits -> Revision bfb6fce

Revision bfb6fce by Patrick Mours (master)
December 11, 2020, 12:24 (GMT)
Cycles: Add CPU+GPU rendering support with OptiX

Adds support for building multiple BVH types in order to support using both CPU and OptiX
devices for rendering simultaneously. Primitive packing for Embree and OptiX is now
standalone, so it only needs to be run once and can be shared between the two. Additionally,
BVH building was made a device call, so that each device backend can decide how to
perform the building. The multi-device for instance creates a special multi-BVH that holds
references to several sub-BVHs, one for each sub-device.

Reviewed By: brecht, kevindietrich

Differential Revision: https://developer.blender.org/D9718

Commit Details:

Full Hash: bfb6fce6594e9cf133bd18aee311c1e5e32dc799
Parent Commit: d72ec16
Lines Changed: +1081, -1324

2 Added Paths:

/intern/cycles/bvh/bvh_multi.cpp (+37, -0) (View)
/intern/cycles/bvh/bvh_multi.h (+39, -0) (View)

28 Modified Paths:

/intern/cycles/blender/addon/properties.py (+1, -1) (Diff)
/intern/cycles/blender/blender_device.cpp (+1, -2) (Diff)
/intern/cycles/bvh/bvh.cpp (+13, -419) (Diff)
/intern/cycles/bvh/bvh.h (+6, -42) (Diff)
/intern/cycles/bvh/bvh2.cpp (+408, -1) (Diff)
/intern/cycles/bvh/bvh2.h (+28, -11) (Diff)
/intern/cycles/bvh/bvh_embree.cpp (+28, -301) (Diff)
/intern/cycles/bvh/bvh_embree.h (+5, -27) (Diff)
/intern/cycles/bvh/bvh_optix.cpp (+7, -197) (Diff)
/intern/cycles/bvh/bvh_optix.h (+7, -21) (Diff)
/intern/cycles/bvh/CMakeLists.txt (+2, -0) (Diff)
/intern/cycles/device/cuda/device_cuda.h (+1, -0) (Diff)
/intern/cycles/device/cuda/device_cuda_impl.cpp (+20, -2) (Diff)
/intern/cycles/device/device.cpp (+15, -0) (Diff)
/intern/cycles/device/device.h (+1, -10) (Diff)
/intern/cycles/device/device_cpu.cpp (+29, -4) (Diff)
/intern/cycles/device/device_multi.cpp (+66, -11) (Diff)
/intern/cycles/device/device_optix.cpp (+223, -240) (Diff)
/intern/cycles/kernel/bvh/bvh_embree.h (+2, -4) (Diff)
/intern/cycles/kernel/kernel_types.h (+3, -1) (Diff)
/intern/cycles/render/geometry.cpp (+60, -28) (Diff)
/intern/cycles/render/geometry.h (+3, -0) (Diff)
/intern/cycles/render/hair.cpp (+33, -0) (Diff)
/intern/cycles/render/hair.h (+2, -0) (Diff)
/intern/cycles/render/mesh.cpp (+31, -0) (Diff)
/intern/cycles/render/mesh.h (+3, -2) (Diff)
/intern/cycles/render/scene.cpp (+5, -0) (Diff)
/intern/cycles/render/scene.h (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021