|
Blender V4.3
|
#include "kernel/svm/types.h"#include "kernel/svm/aov.h"#include "kernel/svm/attribute.h"#include "kernel/svm/blackbody.h"#include "kernel/svm/brick.h"#include "kernel/svm/brightness.h"#include "kernel/svm/bump.h"#include "kernel/svm/camera.h"#include "kernel/svm/checker.h"#include "kernel/svm/clamp.h"#include "kernel/svm/closure.h"#include "kernel/svm/convert.h"#include "kernel/svm/displace.h"#include "kernel/svm/fresnel.h"#include "kernel/svm/gabor.h"#include "kernel/svm/gamma.h"#include "kernel/svm/geometry.h"#include "kernel/svm/gradient.h"#include "kernel/svm/hsv.h"#include "kernel/svm/ies.h"#include "kernel/svm/image.h"#include "kernel/svm/invert.h"#include "kernel/svm/light_path.h"#include "kernel/svm/magic.h"#include "kernel/svm/map_range.h"#include "kernel/svm/mapping.h"#include "kernel/svm/math.h"#include "kernel/svm/mix.h"#include "kernel/svm/noisetex.h"#include "kernel/svm/normal.h"#include "kernel/svm/ramp.h"#include "kernel/svm/sepcomb_color.h"#include "kernel/svm/sepcomb_hsv.h"#include "kernel/svm/sepcomb_vector.h"#include "kernel/svm/sky.h"#include "kernel/svm/tex_coord.h"#include "kernel/svm/value.h"#include "kernel/svm/vector_rotate.h"#include "kernel/svm/vector_transform.h"#include "kernel/svm/vertex_color.h"#include "kernel/svm/voronoi.h"#include "kernel/svm/voxel.h"#include "kernel/svm/wave.h"#include "kernel/svm/wavelength.h"#include "kernel/svm/white_noise.h"#include "kernel/svm/wireframe.h"Go to the source code of this file.
Macros | |
| #define | SVM_CASE(node) case node: |
| #define SVM_CASE | ( | node | ) | case node: |
Definition at line 214 of file kernel/svm/svm.h.
Referenced by svm_eval_nodes().
| ccl_device_inline float4 fetch_node_float | ( | KernelGlobals | kg, |
| int | offset ) |
Definition at line 115 of file kernel/svm/svm.h.
References __uint_as_float, kernel_data_fetch, and make_float4().
Referenced by rgb_ramp_lookup().
| ccl_device_inline uint4 read_node | ( | KernelGlobals | kg, |
| ccl_private int * | offset ) |
Definition at line 97 of file kernel/svm/svm.h.
References kernel_data_fetch, and node.
Referenced by svm_eval_nodes(), svm_node_clamp(), svm_node_closure_bsdf(), svm_node_closure_bsdf_skip(), svm_node_combine_hsv(), svm_node_curve(), svm_node_curves(), svm_node_map_range(), svm_node_mix(), svm_node_normal(), svm_node_principled_volume(), svm_node_rgb_ramp(), svm_node_separate_hsv(), svm_node_tex_brick(), svm_node_tex_gabor(), svm_node_tex_image(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_voronoi(), svm_node_tex_wave(), svm_node_value_v(), svm_node_vector_displacement(), and svm_node_vector_math().
| ccl_device_inline float4 read_node_float | ( | KernelGlobals | kg, |
| ccl_private int * | offset ) |
Definition at line 104 of file kernel/svm/svm.h.
References __uint_as_float, kernel_data_fetch, and make_float4().
Referenced by svm_node_min_max(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_sky(), svm_node_tex_voxel(), and svm_node_texture_mapping().
| ccl_device_inline float stack_load_float | ( | ccl_private float * | stack, |
| uint | a ) |
Definition at line 52 of file kernel/svm/svm.h.
References kernel_assert, and SVM_STACK_SIZE.
Referenced by stack_load_float_default(), svm_eval_nodes(), svm_node_aov_value(), svm_node_blackbody(), svm_node_brightness(), svm_node_clamp(), svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), svm_node_closure_volume(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_combine_vector(), svm_node_convert(), svm_node_curve(), svm_node_curves(), svm_node_displacement(), svm_node_emission_weight(), svm_node_fresnel(), svm_node_gamma(), svm_node_hsv(), svm_node_invert(), svm_node_layer_weight(), svm_node_leave_bump_eval(), svm_node_light_falloff(), svm_node_map_range(), svm_node_math(), svm_node_mix(), svm_node_mix_closure(), svm_node_mix_color(), svm_node_mix_float(), svm_node_mix_vector(), svm_node_normal_map(), svm_node_principled_volume(), svm_node_rgb_ramp(), svm_node_set_bump(), svm_node_tex_white_noise(), svm_node_vector_displacement(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_wavelength(), and svm_node_wireframe().
| CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 | ( | ccl_private float * | stack, |
| uint | a ) |
Definition at line 34 of file kernel/svm/svm.h.
References ccl_private, kernel_assert, make_float3(), and SVM_STACK_SIZE.
Referenced by svm_node_aov_color(), svm_node_brightness(), svm_node_closure_bsdf(), svm_node_closure_weight(), svm_node_convert(), svm_node_curves(), svm_node_displacement(), svm_node_emission_weight(), svm_node_fresnel(), svm_node_gamma(), svm_node_hsv(), svm_node_ies(), svm_node_invert(), svm_node_layer_weight(), svm_node_leave_bump_eval(), svm_node_mapping(), svm_node_min_max(), svm_node_mix(), svm_node_mix_color(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal(), svm_node_normal_map(), svm_node_principled_volume(), svm_node_separate_color(), svm_node_separate_hsv(), svm_node_separate_vector(), svm_node_set_bump(), svm_node_set_displacement(), svm_node_set_normal(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_sky(), svm_node_tex_voronoi(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_texture_mapping(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_math(), svm_node_vector_rotate(), and svm_node_vector_transform().
| ccl_device_inline float stack_load_float_default | ( | ccl_private float * | stack, |
| uint | a, | ||
| uint | value ) |
Definition at line 59 of file kernel/svm/svm.h.
References __uint_as_float, stack_load_float(), and SVM_STACK_INVALID.
Referenced by svm_node_clamp(), svm_node_closure_bsdf(), svm_node_ies(), svm_node_map_range(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_gabor(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_voronoi(), and svm_node_tex_wave().
| ccl_device_inline int stack_load_int | ( | ccl_private float * | stack, |
| uint | a ) |
Definition at line 71 of file kernel/svm/svm.h.
References __float_as_int, kernel_assert, and SVM_STACK_SIZE.
Referenced by stack_load_int_default(), and svm_node_convert().
| ccl_device_inline int stack_load_int_default | ( | ccl_private float * | stack, |
| uint | a, | ||
| uint | value ) |
Definition at line 78 of file kernel/svm/svm.h.
References int, stack_load_int(), and SVM_STACK_INVALID.
| ccl_device_inline void stack_store_float | ( | ccl_private float * | stack, |
| uint | a, | ||
| float | f ) |
Definition at line 64 of file kernel/svm/svm.h.
References kernel_assert, and SVM_STACK_SIZE.
Referenced by svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_camera(), svm_node_clamp(), svm_node_combine_vector(), svm_node_convert(), svm_node_curve(), svm_node_enter_bump_eval(), svm_node_fresnel(), svm_node_ies(), svm_node_layer_weight(), svm_node_light_falloff(), svm_node_light_path(), svm_node_map_range(), svm_node_math(), svm_node_mix_closure(), svm_node_mix_float(), svm_node_normal(), svm_node_object_info(), svm_node_particle_info(), svm_node_rgb_ramp(), svm_node_separate_color(), svm_node_separate_hsv(), svm_node_separate_vector(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_value_f(), svm_node_vector_math(), svm_node_vertex_color(), svm_node_vertex_color_bump_dx(), svm_node_vertex_color_bump_dy(), svm_node_wireframe(), and svm_voronoi_output().
| ccl_device_inline void stack_store_float3 | ( | ccl_private float * | stack, |
| uint | a, | ||
| float3 | f ) |
Definition at line 42 of file kernel/svm/svm.h.
References ccl_private, kernel_assert, SVM_STACK_SIZE, float3::x, float3::y, and float3::z.
Referenced by svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_blackbody(), svm_node_brightness(), svm_node_camera(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_convert(), svm_node_curves(), svm_node_displacement(), svm_node_enter_bump_eval(), svm_node_gamma(), svm_node_geometry(), svm_node_geometry_bump_dx(), svm_node_geometry_bump_dy(), svm_node_hsv(), svm_node_invert(), svm_node_mapping(), svm_node_min_max(), svm_node_mix(), svm_node_mix_color(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal(), svm_node_normal_map(), svm_node_object_info(), svm_node_particle_info(), svm_node_rgb_ramp(), svm_node_set_bump(), svm_node_set_normal(), svm_node_tangent(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_environment(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_sky(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_texture_mapping(), svm_node_value_v(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), svm_node_vertex_color(), svm_node_vertex_color_bump_dx(), svm_node_vertex_color_bump_dy(), svm_node_wavelength(), and svm_voronoi_output().
| ccl_device_inline void stack_store_int | ( | ccl_private float * | stack, |
| uint | a, | ||
| int | i ) |
Definition at line 83 of file kernel/svm/svm.h.
References __int_as_float, kernel_assert, and SVM_STACK_SIZE.
Referenced by svm_node_convert().
| ccl_device_inline bool stack_valid | ( | uint | a | ) |
Definition at line 90 of file kernel/svm/svm.h.
References SVM_STACK_INVALID.
Referenced by svm_node_brightness(), svm_node_camera(), svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), svm_node_closure_volume(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_combine_vector(), svm_node_displacement(), svm_node_fresnel(), svm_node_gamma(), svm_node_hsv(), svm_node_ies(), svm_node_invert(), svm_node_layer_weight(), svm_node_mix_closure(), svm_node_normal(), svm_node_principled_volume(), svm_node_rgb_ramp(), svm_node_separate_color(), svm_node_separate_hsv(), svm_node_separate_vector(), svm_node_set_bump(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), svm_node_wireframe(), and svm_voronoi_output().
| ccl_device void svm_eval_nodes | ( | KernelGlobals | kg, |
| ConstIntegratorGenericState | state, | ||
| ccl_private ShaderData * | sd, | ||
| ccl_global float * | render_buffer, | ||
| uint32_t | path_flag ) |
Definition at line 219 of file kernel/svm/svm.h.
References IF_KERNEL_NODES_FEATURE, kernel_assert, read_node(), render_buffer, SHADER_MASK, SHADER_TYPE_DISPLACEMENT, SHADER_TYPE_SURFACE, SHADER_TYPE_VOLUME, stack_load_float(), state, SVM_CASE, svm_node_aov_check(), svm_node_aov_color(), svm_node_aov_value(), svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_blackbody(), svm_node_brightness(), svm_node_camera(), svm_node_clamp(), svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), svm_node_closure_set_weight(), svm_node_closure_volume(), svm_node_closure_weight(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_combine_vector(), svm_node_convert(), svm_node_curve(), svm_node_curves(), svm_node_displacement(), svm_node_emission_weight(), svm_node_enter_bump_eval(), svm_node_fresnel(), svm_node_gamma(), svm_node_geometry(), svm_node_geometry_bump_dx(), svm_node_geometry_bump_dy(), svm_node_hsv(), svm_node_ies(), svm_node_invert(), svm_node_layer_weight(), svm_node_leave_bump_eval(), svm_node_light_falloff(), svm_node_light_path(), svm_node_map_range(), svm_node_mapping(), svm_node_math(), svm_node_min_max(), svm_node_mix(), svm_node_mix_closure(), svm_node_mix_color(), svm_node_mix_float(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal(), svm_node_normal_map(), svm_node_object_info(), svm_node_particle_info(), svm_node_principled_volume(), svm_node_rgb_ramp(), svm_node_separate_color(), svm_node_separate_hsv(), svm_node_separate_vector(), svm_node_set_bump(), svm_node_set_displacement(), svm_node_set_normal(), svm_node_tangent(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_sky(), svm_node_tex_voronoi(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_texture_mapping(), svm_node_value_f(), svm_node_value_v(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), svm_node_vertex_color(), svm_node_vertex_color_bump_dx(), svm_node_vertex_color_bump_dy(), svm_node_wavelength(), svm_node_wireframe(), and SVM_STACK_SIZE.
Referenced by displacement_shader_eval(), and surface_shader_eval().
| ccl_device_forceinline void svm_unpack_node_uchar2 | ( | uint | i, |
| ccl_private uint * | x, | ||
| ccl_private uint * | y ) |
Definition at line 124 of file kernel/svm/svm.h.
Referenced by svm_node_brightness(), svm_node_fresnel(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_gabor(), svm_node_tex_voronoi(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_vector_math(), svm_node_vector_transform(), and svm_node_wireframe().
| ccl_device_forceinline void svm_unpack_node_uchar3 | ( | uint | i, |
| ccl_private uint * | x, | ||
| ccl_private uint * | y, | ||
| ccl_private uint * | z ) |
Definition at line 132 of file kernel/svm/svm.h.
References z().
Referenced by svm_node_clamp(), svm_node_combine_color(), svm_node_hsv(), svm_node_ies(), svm_node_layer_weight(), svm_node_light_falloff(), svm_node_map_range(), svm_node_math(), svm_node_mix_color(), svm_node_mix_float(), svm_node_rgb_ramp(), svm_node_separate_color(), svm_node_tangent(), svm_node_tex_gabor(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_wave(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), and svm_voronoi_output().
| ccl_device_forceinline void svm_unpack_node_uchar4 | ( | uint | i, |
| ccl_private uint * | x, | ||
| ccl_private uint * | y, | ||
| ccl_private uint * | z, | ||
| ccl_private uint * | w ) |
Definition at line 142 of file kernel/svm/svm.h.
Referenced by svm_node_closure_bsdf(), svm_node_closure_volume(), svm_node_curve(), svm_node_curves(), svm_node_displacement(), svm_node_map_range(), svm_node_mapping(), svm_node_mix_closure(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal_map(), svm_node_principled_volume(), svm_node_set_bump(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_noise(), svm_node_tex_voronoi(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_rotate(), and svm_voronoi_output().