Blender V4.3
shadow_state_template.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5/********************************* Shadow Path State **************************/
6
7KERNEL_STRUCT_BEGIN(shadow_path)
8/* Index of a pixel within the device render buffer. */
9KERNEL_STRUCT_MEMBER(shadow_path, uint32_t, render_pixel_index, KERNEL_FEATURE_PATH_TRACING)
10/* Current sample number. */
12/* Random number generator per-pixel info. */
14/* Random number dimension offset. */
16/* Current ray bounce depth. */
18/* Current transparent ray bounce depth. */
19KERNEL_STRUCT_MEMBER(shadow_path, uint16_t, transparent_bounce, KERNEL_FEATURE_PATH_TRACING)
20/* Current diffuse ray bounce depth. */
22/* Current glossy ray bounce depth. */
24/* Current transmission ray bounce depth. */
25KERNEL_STRUCT_MEMBER(shadow_path, uint16_t, transmission_bounce, KERNEL_FEATURE_PATH_TRACING)
26/* DeviceKernel bit indicating queued kernels. */
28/* enum PathRayFlag */
30/* Throughput. */
32/* Throughput for shadow pass. */
35 unshadowed_throughput,
37/* Ratio of throughput to distinguish diffuse / glossy / transmission render passes. */
38KERNEL_STRUCT_MEMBER(shadow_path, PackedSpectrum, pass_diffuse_weight, KERNEL_FEATURE_LIGHT_PASSES)
40/* Number of intersections found by ray-tracing. */
42/* Light group. */
44/* Path guiding. */
46#ifdef __PATH_GUIDING__
47KERNEL_STRUCT_MEMBER(shadow_path,
48 openpgl::cpp::PathSegment *,
49 path_segment,
51#else
53#endif
54KERNEL_STRUCT_MEMBER(shadow_path, float, guiding_mis_weight, KERNEL_FEATURE_PATH_GUIDING)
55KERNEL_STRUCT_END(shadow_path)
56
57/********************************** Shadow Ray *******************************/
58
67KERNEL_STRUCT_END(shadow_ray)
68
69/*********************** Shadow Intersection result **************************/
70
71/* Result from scene intersection. */
72KERNEL_STRUCT_BEGIN(shadow_isect)
79KERNEL_STRUCT_END_ARRAY(shadow_isect,
82
83/**************************** Shadow Volume Stack *****************************/
84
85KERNEL_STRUCT_BEGIN(shadow_volume_stack)
86KERNEL_STRUCT_ARRAY_MEMBER(shadow_volume_stack, int, object, KERNEL_FEATURE_VOLUME)
87KERNEL_STRUCT_ARRAY_MEMBER(shadow_volume_stack, int, shader, KERNEL_FEATURE_VOLUME)
88KERNEL_STRUCT_END_ARRAY(shadow_volume_stack,
ATTR_WARN_UNUSED_RESULT const BMVert * v
#define KERNEL_FEATURE_VOLUME
#define KERNEL_FEATURE_PATH_GUIDING
#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU
#define KERNEL_FEATURE_LIGHT_PASSES
#define KERNEL_FEATURE_PATH_TRACING
#define KERNEL_FEATURE_SHADOW_LINKING
#define KERNEL_FEATURE_AO_ADDITIVE
#define KERNEL_STRUCT_END(name)
#define KERNEL_STRUCT_BEGIN(name)
#define KERNEL_STRUCT_VOLUME_STACK_SIZE
#define KERNEL_STRUCT_END_ARRAY(name, cpu_array_size, gpu_array_size)
#define KERNEL_STRUCT_MEMBER_PACKED
#define KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)
INTEGRATOR_SHADOW_ISECT_SIZE_CPU
unsigned short uint16_t
Definition stdint.h:79
unsigned int uint32_t
Definition stdint.h:80
unsigned char uint8_t
Definition stdint.h:78
unsigned __int64 uint64_t
Definition stdint.h:90
PACKED_SPECTRUM_DATA_TYPE PackedSpectrum
uint8_t flag
Definition wm_window.cc:138