Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_voxel.h
| Show All 13 Lines | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| /* TODO(sergey): Think of making it more generic volume-type attribute | /* TODO(sergey): Think of making it more generic volume-type attribute | ||||
| * sampler. | * sampler. | ||||
| */ | */ | ||||
| ccl_device_noinline int svm_node_tex_voxel(ccl_global const KernelGlobals *kg, | ccl_device_noinline int svm_node_tex_voxel( | ||||
| ccl_private ShaderData *sd, | KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint4 node, int offset) | ||||
| ccl_private float *stack, | |||||
| uint4 node, | |||||
| int offset) | |||||
| { | { | ||||
| uint co_offset, density_out_offset, color_out_offset, space; | uint co_offset, density_out_offset, color_out_offset, space; | ||||
| svm_unpack_node_uchar4(node.z, &co_offset, &density_out_offset, &color_out_offset, &space); | svm_unpack_node_uchar4(node.z, &co_offset, &density_out_offset, &color_out_offset, &space); | ||||
| #ifdef __VOLUME__ | #ifdef __VOLUME__ | ||||
| int id = node.y; | int id = node.y; | ||||
| float3 co = stack_load_float3(stack, co_offset); | float3 co = stack_load_float3(stack, co_offset); | ||||
| if (space == NODE_TEX_VOXEL_SPACE_OBJECT) { | if (space == NODE_TEX_VOXEL_SPACE_OBJECT) { | ||||
| co = volume_normalized_position(kg, sd, co); | co = volume_normalized_position(kg, sd, co); | ||||
| Show All 22 Lines | |||||