 |
Blender V4.3
|
Go to the documentation of this file.
17# define SQUARE(x) ((x) * (x))
21#define LUT_WORKGROUP_SIZE 16
24#define HIZ_MIP_COUNT 7
26#define HIZ_GROUP_SIZE 32
29#define LIGHT_CHUNK 256
31#define CULLING_SELECT_GROUP_SIZE 256
32#define CULLING_SORT_GROUP_SIZE 256
33#define CULLING_ZBIN_GROUP_SIZE 1024
34#define CULLING_TILE_GROUP_SIZE 256
38#define SPHERE_PROBE_REMAP_GROUP_SIZE 32
39#define SPHERE_PROBE_GROUP_SIZE 16
40#define SPHERE_PROBE_SELECT_GROUP_SIZE 64
41#define SPHERE_PROBE_MIPMAP_LEVELS 5
42#define SPHERE_PROBE_SH_GROUP_SIZE 256
43#define SPHERE_PROBE_SH_SAMPLES_PER_GROUP 64
45#define SPHERE_PROBE_ATLAS_MAX_SUBDIV 12
46#define SPHERE_PROBE_ATLAS_RES (1 << SPHERE_PROBE_ATLAS_MAX_SUBDIV)
48#define SPHERE_PROBE_MAX_HARMONIC SQUARE(SPHERE_PROBE_ATLAS_RES / SPHERE_PROBE_REMAP_GROUP_SIZE)
50#define SPHERE_PROBE_MIX_START_ROUGHNESS 0.7
51#define SPHERE_PROBE_MIX_END_ROUGHNESS 0.9
53#define SPHERE_PROBE_MIP_MAX_ROUGHNESS 0.7
57#define SPHERE_PROBE_MAX 128
60#define VOLUME_PROBE_FORMAT GPU_RGBA16F
67#define PLANAR_PROBE_MAX 16
78# define SHADOW_TILEMAP_RES 4
79# define SHADOW_TILEMAP_LOD 2
81# define SHADOW_TILEMAP_RES 32
82# define SHADOW_TILEMAP_LOD 5
84#define SHADOW_TILEMAP_LOD0_LEN ((SHADOW_TILEMAP_RES / 1) * (SHADOW_TILEMAP_RES / 1))
85#define SHADOW_TILEMAP_LOD1_LEN ((SHADOW_TILEMAP_RES / 2) * (SHADOW_TILEMAP_RES / 2))
86#define SHADOW_TILEMAP_LOD2_LEN ((SHADOW_TILEMAP_RES / 4) * (SHADOW_TILEMAP_RES / 4))
87#define SHADOW_TILEMAP_LOD3_LEN ((SHADOW_TILEMAP_RES / 8) * (SHADOW_TILEMAP_RES / 8))
88#define SHADOW_TILEMAP_LOD4_LEN ((SHADOW_TILEMAP_RES / 16) * (SHADOW_TILEMAP_RES / 16))
89#define SHADOW_TILEMAP_LOD5_LEN ((SHADOW_TILEMAP_RES / 32) * (SHADOW_TILEMAP_RES / 32))
90#define SHADOW_TILEMAP_PER_ROW 64
91#define SHADOW_TILEDATA_PER_TILEMAP \
92 (SHADOW_TILEMAP_LOD0_LEN + SHADOW_TILEMAP_LOD1_LEN + SHADOW_TILEMAP_LOD2_LEN + \
93 SHADOW_TILEMAP_LOD3_LEN + SHADOW_TILEMAP_LOD4_LEN + SHADOW_TILEMAP_LOD5_LEN)
95#define SHADOW_TILEMAP_MAX_CLIPMAP_LOD 8
99# define SHADOW_PAGE_CLEAR_GROUP_SIZE 8
100# define SHADOW_PAGE_RES 8
101# define SHADOW_PAGE_LOD 3
103# define SHADOW_PAGE_CLEAR_GROUP_SIZE 32
104# define SHADOW_PAGE_RES 256
105# define SHADOW_PAGE_LOD 8
109#define SHADOW_MAP_MAX_RES (SHADOW_PAGE_RES * SHADOW_TILEMAP_RES)
110#define SHADOW_DEPTH_SCAN_GROUP_SIZE 8
111#define SHADOW_AABB_TAG_GROUP_SIZE 64
112#define SHADOW_MAX_TILEMAP 4096
113#define SHADOW_MAX_TILE (SHADOW_MAX_TILEMAP * SHADOW_TILEDATA_PER_TILEMAP)
114#define SHADOW_MAX_PAGE 4096
115#define SHADOW_BOUNDS_GROUP_SIZE 64
116#define SHADOW_CLIPMAP_GROUP_SIZE 64
117#define SHADOW_VIEW_MAX 64
118#define SHADOW_RENDER_MAP_SIZE (SHADOW_VIEW_MAX * SHADOW_TILEMAP_LOD0_LEN)
119#define SHADOW_ATOMIC 1
120#define SHADOW_PAGE_PER_ROW 4
121#define SHADOW_PAGE_PER_COL 4
122#define SHADOW_PAGE_PER_LAYER (SHADOW_PAGE_PER_ROW * SHADOW_PAGE_PER_COL)
123#define SHADOW_MAX_STEP 16
124#define SHADOW_MAX_RAY 4
125#define SHADOW_ROG_ID 0
128#define DEFERRED_RADIANCE_FORMAT GPU_R32UI
129#define DEFERRED_GBUFFER_ROG_ID 0
132#define RAYTRACE_GROUP_SIZE 8
134#define RAYTRACE_RADIANCE_FORMAT GPU_R11F_G11F_B10F
135#define RAYTRACE_RAYTIME_FORMAT GPU_R32F
136#define RAYTRACE_VARIANCE_FORMAT GPU_R16F
137#define RAYTRACE_TILEMASK_FORMAT GPU_R8UI
140#define SUBSURFACE_GROUP_SIZE RAYTRACE_GROUP_SIZE
141#define SUBSURFACE_RADIANCE_FORMAT GPU_R11F_G11F_B10F
142#define SUBSURFACE_OBJECT_ID_FORMAT GPU_R16UI
145#define FILM_GROUP_SIZE 16
148#define MOTION_BLUR_GROUP_SIZE 32
149#define MOTION_BLUR_DILATE_GROUP_SIZE 512
153#define IRRADIANCE_GRID_MAX 64
156#define DOF_TILES_SIZE 8
157#define DOF_TILES_FLATTEN_GROUP_SIZE DOF_TILES_SIZE
158#define DOF_TILES_DILATE_GROUP_SIZE 8
159#define DOF_BOKEH_LUT_SIZE 32
160#define DOF_MAX_SLIGHT_FOCUS_RADIUS 5
161#define DOF_SLIGHT_FOCUS_SAMPLE_MAX 16
162#define DOF_MIP_COUNT 4
163#define DOF_REDUCE_GROUP_SIZE (1 << (DOF_MIP_COUNT - 1))
164#define DOF_DEFAULT_GROUP_SIZE 32
165#define DOF_STABILIZE_GROUP_SIZE 16
166#define DOF_FILTER_GROUP_SIZE 8
167#define DOF_GATHER_GROUP_SIZE DOF_TILES_SIZE
168#define DOF_RESOLVE_GROUP_SIZE (DOF_TILES_SIZE * 2)
171#define AMBIENT_OCCLUSION_PASS_TILE_SIZE 16
174#define SURFEL_GROUP_SIZE 256
175#define SURFEL_LIST_GROUP_SIZE 256
176#define IRRADIANCE_GRID_GROUP_SIZE 4
177#define IRRADIANCE_GRID_BRICK_SIZE 4
178#define IRRADIANCE_BOUNDS_GROUP_SIZE 64
181#define VOLUME_GROUP_SIZE 4
182#define VOLUME_INTEGRATION_GROUP_SIZE 8
183#define VOLUME_HIT_DEPTH_MAX 16
186#define VERTEX_COPY_GROUP_SIZE 64
193#define RBUFS_UTILITY_TEX_SLOT 2
194#define HIZ_TEX_SLOT 3
196#define SHADOW_TILEMAPS_TEX_SLOT 4
197#define SHADOW_ATLAS_TEX_SLOT 5
198#define VOLUME_PROBE_TEX_SLOT 6
199#define SPHERE_PROBE_TEX_SLOT 7
200#define VOLUME_SCATTERING_TEX_SLOT 8
201#define VOLUME_TRANSMITTANCE_TEX_SLOT 9
203#define PLANAR_PROBE_DEPTH_TEX_SLOT 10
204#define PLANAR_PROBE_RADIANCE_TEX_SLOT 11
206#define MATERIAL_TEXTURE_RESERVED_SLOT_FIRST RBUFS_UTILITY_TEX_SLOT
207#define MATERIAL_TEXTURE_RESERVED_SLOT_LAST_NO_EVAL HIZ_TEX_SLOT
208#define MATERIAL_TEXTURE_RESERVED_SLOT_LAST_HYBRID SPHERE_PROBE_TEX_SLOT
209#define MATERIAL_TEXTURE_RESERVED_SLOT_LAST_FORWARD VOLUME_TRANSMITTANCE_TEX_SLOT
210#define MATERIAL_TEXTURE_RESERVED_SLOT_LAST_WORLD SPHERE_PROBE_TEX_SLOT
213#define RBUFS_COLOR_SLOT 0
214#define RBUFS_VALUE_SLOT 1
215#define RBUFS_CRYPTOMATTE_SLOT 2
216#define GBUF_CLOSURE_SLOT 3
217#define GBUF_NORMAL_SLOT 4
218#define GBUF_HEADER_SLOT 5
220#define VOLUME_PROP_SCATTERING_IMG_SLOT 0
221#define VOLUME_PROP_EXTINCTION_IMG_SLOT 1
222#define VOLUME_PROP_EMISSION_IMG_SLOT 2
223#define VOLUME_PROP_PHASE_IMG_SLOT 3
224#define VOLUME_PROP_PHASE_WEIGHT_IMG_SLOT 4
225#define VOLUME_OCCUPANCY_SLOT 5
227#define VOLUME_HIT_DEPTH_SLOT 0
228#define VOLUME_HIT_COUNT_SLOT 1
230#define SHADOW_ATLAS_IMG_SLOT 4
234#define UNIFORM_BUF_SLOT 1
236#define IRRADIANCE_GRID_BUF_SLOT 2
237#define SPHERE_PROBE_BUF_SLOT 3
238#define PLANAR_PROBE_BUF_SLOT 4
240#define VELOCITY_CAMERA_PREV_BUF 2
241#define VELOCITY_CAMERA_CURR_BUF 3
242#define VELOCITY_CAMERA_NEXT_BUF 4
243#define CLIP_PLANE_BUF 5
246#define LIGHT_CULL_BUF_SLOT 0
247#define LIGHT_BUF_SLOT 1
248#define LIGHT_ZBIN_BUF_SLOT 2
249#define LIGHT_TILE_BUF_SLOT 3
250#define IRRADIANCE_BRICK_BUF_SLOT 4
251#define SAMPLING_BUF_SLOT 6
252#define CRYPTOMATTE_BUF_SLOT 7
254#define SURFEL_BUF_SLOT 4
256#define CAPTURE_BUF_SLOT 5
258#define SHADOW_RENDER_MAP_BUF_SLOT 3
259#define SHADOW_PAGE_INFO_SLOT 4
260#define SHADOW_RENDER_VIEW_BUF_SLOT 5
263#define VELOCITY_OBJ_PREV_BUF_SLOT 0
264#define VELOCITY_OBJ_NEXT_BUF_SLOT 1
265#define VELOCITY_GEO_PREV_BUF_SLOT 2
266#define VELOCITY_GEO_NEXT_BUF_SLOT 3
267#define VELOCITY_INDIRECTION_BUF_SLOT 4
270#define BSDF_ROUGHNESS_THRESHOLD 2e-2