Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/kernel_types.h
| Show First 20 Lines • Show All 912 Lines • ▼ Show 20 Lines | enum ShaderDataObjectFlag { | ||||
| SD_OBJECT_SHADOW_CATCHER = (1 << 7), | SD_OBJECT_SHADOW_CATCHER = (1 << 7), | ||||
| /* object has volume attributes */ | /* object has volume attributes */ | ||||
| SD_OBJECT_HAS_VOLUME_ATTRIBUTES = (1 << 8), | SD_OBJECT_HAS_VOLUME_ATTRIBUTES = (1 << 8), | ||||
| SD_OBJECT_FLAGS = (SD_OBJECT_HOLDOUT_MASK | SD_OBJECT_MOTION | SD_OBJECT_TRANSFORM_APPLIED | | SD_OBJECT_FLAGS = (SD_OBJECT_HOLDOUT_MASK | SD_OBJECT_MOTION | SD_OBJECT_TRANSFORM_APPLIED | | ||||
| SD_OBJECT_NEGATIVE_SCALE_APPLIED | SD_OBJECT_HAS_VOLUME | | SD_OBJECT_NEGATIVE_SCALE_APPLIED | SD_OBJECT_HAS_VOLUME | | ||||
| SD_OBJECT_INTERSECTS_VOLUME | SD_OBJECT_SHADOW_CATCHER | | SD_OBJECT_INTERSECTS_VOLUME | SD_OBJECT_SHADOW_CATCHER | | ||||
| SD_OBJECT_HAS_VOLUME_ATTRIBUTES) | SD_OBJECT_HAS_VOLUME_ATTRIBUTES) | ||||
| /* Upper 16 bytes are reserved for visibility flags. */ | |||||
| }; | }; | ||||
| typedef ccl_addr_space struct ccl_align(16) ShaderData | typedef ccl_addr_space struct ccl_align(16) ShaderData | ||||
| { | { | ||||
| /* position */ | /* position */ | ||||
| float3 P; | float3 P; | ||||
| /* smooth normal for shading */ | /* smooth normal for shading */ | ||||
| float3 N; | float3 N; | ||||
| ▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | |||||
| } | } | ||||
| ShaderDataTinyStorage; | ShaderDataTinyStorage; | ||||
| #define AS_SHADER_DATA(shader_data_tiny_storage) ((ShaderData *)shader_data_tiny_storage) | #define AS_SHADER_DATA(shader_data_tiny_storage) ((ShaderData *)shader_data_tiny_storage) | ||||
| /* Path State */ | /* Path State */ | ||||
| #ifdef __VOLUME__ | #ifdef __VOLUME__ | ||||
| typedef struct VolumeStack { | typedef struct VolumeStack { | ||||
| int object; | |||||
| int shader; | int shader; | ||||
| int visible; | |||||
swerner: This holds only a boolean at the moment. Should we steal a bit from either `object` or `shader`? | |||||
Not Done Inline ActionsFor saving GPU memory, would be good yes. brecht: For saving GPU memory, would be good yes. | |||||
| int object; | |||||
| } VolumeStack; | } VolumeStack; | ||||
| #endif | #endif | ||||
| typedef struct PathState { | typedef struct PathState { | ||||
| /* see enum PathRayFlag */ | /* see enum PathRayFlag */ | ||||
| int flag; | int flag; | ||||
| /* random number generator state */ | /* random number generator state */ | ||||
| ▲ Show 20 Lines • Show All 671 Lines • Show Last 20 Lines | |||||
This holds only a boolean at the moment. Should we steal a bit from either object or shader?