blender/intern/cycles/kernel/osl
Sergey Sharybin 819d52f3d2 GSplat: Initial rendering support for Cycles
Based on the "Stochastic ray tracing of transparent 3D Gaussians" paper
by Xin Sun et. al. The basic idea: perform stochastic intersection with
the Gaussian splat based on its transparency.

Gaussian splats are implemented as a dedicated primitive type, but it
shares the same layout for position and radius as points, so a lot of
existing functions (positions, attributes, etc) work for both points
and splats.

For the Embree and hardware intersection it is implemented as a custom
primitive type.

The choice of using bounding spheres mainly comes from a balance between
performance and memory usage. More ideal would be to use OBB, but it is
not supported for custom primitive types in Embree and GPU HW-RT on all
backends.

There is a known limitation that comes from the fact that the datasets
are trained in sRGB space and Cycles work in Linear space: areas with
low opacity and high radiance render noticeably differently from the
ground-truth implementation.

Ref #159470

Pull Request: https://projects.blender.org/blender/blender/pulls/163103
2026-09-16 16:52:10 +02:00
..
shaders Cycles: Fallback value for missing image or attribute in shader 2026-09-15 19:45:36 +02:00
camera.h Refactor: Cycles: Split off visibility from path flags 2026-05-27 19:22:53 +02:00
closures.cpp Refactor: Cycles: Separate shader flags and runtime flags 2026-07-27 19:31:18 +02:00
closures_setup.h Refactor: Cycles: Moving IOR inversion inside the OSL closures 2026-09-09 09:12:30 +02:00
closures_template.h Fix: Shader: wrong coat albedo for fractional coat weight 2026-08-26 12:11:08 +02:00
CMakeLists.txt Cleanup: macOS: Remove OSL -faligned-allocation CXX flag 2026-09-08 15:18:37 +02:00
compat.h
globals.cpp
globals.h
osl.h Refactor: Cycles: Separate shader flags and runtime flags 2026-07-27 19:31:18 +02:00
services.cpp Cycles: Fallback value for missing image or attribute in shader 2026-09-15 19:45:36 +02:00
services.h
services_gpu.h Cycles: Fallback value for missing image or attribute in shader 2026-09-15 19:45:36 +02:00
services_optix.cu
services_shared.h GSplat: Initial rendering support for Cycles 2026-09-16 16:52:10 +02:00
strings.h GSplat: Initial rendering support for Cycles 2026-09-16 16:52:10 +02:00
types.h Cycles: Fallback value for missing image or attribute in shader 2026-09-15 19:45:36 +02:00