Blender
V3.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/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/musgrave.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: |
Definition at line 213 of file kernel/svm/svm.h.
ccl_device_inline float4 fetch_node_float | ( | KernelGlobals | kg, |
int | offset | ||
) |
Definition at line 114 of file kernel/svm/svm.h.
References __uint_as_float(), kernel_data_fetch, make_float4, node, and offset.
Referenced by rgb_ramp_lookup().
ccl_device_inline uint4 read_node | ( | KernelGlobals | kg, |
ccl_private int * | offset | ||
) |
Definition at line 96 of file kernel/svm/svm.h.
References kernel_data_fetch, node, and offset.
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_image(), svm_node_tex_magic(), svm_node_tex_musgrave(), 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 103 of file kernel/svm/svm.h.
References __uint_as_float(), kernel_data_fetch, make_float4, node, and offset.
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 51 of file kernel/svm/svm.h.
References Freestyle::a, 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_light_falloff(), svm_node_map_range(), svm_node_math(), svm_node_mix(), svm_node_mix_closure(), 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 33 of file kernel/svm/svm.h.
References Freestyle::a, 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_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_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_musgrave(), 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 58 of file kernel/svm/svm.h.
References __uint_as_float(), Freestyle::a, 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_magic(), svm_node_tex_musgrave(), 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 70 of file kernel/svm/svm.h.
References __float_as_int(), Freestyle::a, 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 77 of file kernel/svm/svm.h.
References Freestyle::a, 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 63 of file kernel/svm/svm.h.
References Freestyle::a, 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_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_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_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_musgrave(), svm_node_tex_noise(), svm_node_tex_voronoi(), 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(), and svm_node_wireframe().
ccl_device_inline void stack_store_float3 | ( | ccl_private float * | stack, |
uint | a, | ||
float3 | f | ||
) |
Definition at line 41 of file kernel/svm/svm.h.
References Freestyle::a, 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_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_voronoi(), 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(), and svm_node_wavelength().
ccl_device_inline void stack_store_int | ( | ccl_private float * | stack, |
uint | a, | ||
int | i | ||
) |
Definition at line 82 of file kernel/svm/svm.h.
References __int_as_float(), Freestyle::a, kernel_assert, and SVM_STACK_SIZE.
Referenced by svm_node_convert().
ccl_device_inline bool stack_valid | ( | uint | a | ) |
Definition at line 89 of file kernel/svm/svm.h.
References Freestyle::a, and 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_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_voronoi(), 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(), and svm_node_wireframe().
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 218 of file kernel/svm/svm.h.
References IF_KERNEL_NODES_FEATURE, kernel_assert, node, offset, 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_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_emission(), svm_node_closure_holdout(), svm_node_closure_set_weight(), 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_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_map_range(), svm_node_mapping(), svm_node_math(), svm_node_min_max(), svm_node_mix(), svm_node_mix_closure(), svm_node_normal(), svm_node_normal_map(), 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_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_musgrave(), 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_f(), svm_node_value_v(), 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(), SVM_STACK_SIZE, and type.
ccl_device_forceinline void svm_unpack_node_uchar2 | ( | uint | i, |
ccl_private uint * | x, | ||
ccl_private uint * | y | ||
) |
Definition at line 123 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_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 131 of file kernel/svm/svm.h.
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_rgb_ramp(), svm_node_separate_color(), svm_node_tangent(), svm_node_tex_magic(), svm_node_tex_musgrave(), svm_node_tex_voronoi(), svm_node_tex_wave(), svm_node_vector_math(), svm_node_vector_rotate(), and svm_node_vector_transform().
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 141 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_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_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_musgrave(), 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(), and svm_node_vector_rotate().