Blender  V3.3
Macros | Functions
kernel/svm/svm.h File Reference
#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:
 

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 (ccl_private float *stack, uint a)
 
ccl_device_inline void stack_store_float3 (ccl_private float *stack, uint a, float3 f)
 
ccl_device_inline float stack_load_float (ccl_private float *stack, uint a)
 
ccl_device_inline float stack_load_float_default (ccl_private float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_float (ccl_private float *stack, uint a, float f)
 
ccl_device_inline int stack_load_int (ccl_private float *stack, uint a)
 
ccl_device_inline int stack_load_int_default (ccl_private float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_int (ccl_private float *stack, uint a, int i)
 
ccl_device_inline bool stack_valid (uint a)
 
ccl_device_inline uint4 read_node (KernelGlobals kg, ccl_private int *offset)
 
ccl_device_inline float4 read_node_float (KernelGlobals kg, ccl_private int *offset)
 
ccl_device_inline float4 fetch_node_float (KernelGlobals kg, int offset)
 
ccl_device_forceinline void svm_unpack_node_uchar2 (uint i, ccl_private uint *x, ccl_private uint *y)
 
ccl_device_forceinline void svm_unpack_node_uchar3 (uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
 
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)
 
template<uint node_feature_mask, ShaderType type, typename ConstIntegratorGenericState >
ccl_device void svm_eval_nodes (KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd, ccl_global float *render_buffer, uint32_t path_flag)
 

Macro Definition Documentation

◆ SVM_CASE

#define SVM_CASE (   node)    case node:

Definition at line 213 of file kernel/svm/svm.h.

Function Documentation

◆ fetch_node_float()

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().

◆ read_node()

ccl_device_inline uint4 read_node ( KernelGlobals  kg,
ccl_private int *  offset 
)

◆ read_node_float()

ccl_device_inline float4 read_node_float ( KernelGlobals  kg,
ccl_private int *  offset 
)

◆ stack_load_float()

ccl_device_inline float stack_load_float ( ccl_private float stack,
uint  a 
)

◆ stack_load_float3()

CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 ( ccl_private float stack,
uint  a 
)

◆ stack_load_float_default()

ccl_device_inline float stack_load_float_default ( ccl_private float stack,
uint  a,
uint  value 
)

◆ stack_load_int()

ccl_device_inline int stack_load_int ( ccl_private float stack,
uint  a 
)

◆ stack_load_int_default()

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.

◆ stack_store_float()

ccl_device_inline void stack_store_float ( ccl_private float stack,
uint  a,
float  f 
)

◆ stack_store_float3()

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().

◆ stack_store_int()

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().

◆ stack_valid()

ccl_device_inline bool stack_valid ( uint  a)

◆ svm_eval_nodes()

template<uint node_feature_mask, ShaderType type, typename ConstIntegratorGenericState >
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.

◆ svm_unpack_node_uchar2()

ccl_device_forceinline void svm_unpack_node_uchar2 ( uint  i,
ccl_private uint x,
ccl_private uint y 
)

◆ svm_unpack_node_uchar3()

ccl_device_forceinline void svm_unpack_node_uchar3 ( uint  i,
ccl_private uint x,
ccl_private uint y,
ccl_private uint z 
)

◆ svm_unpack_node_uchar4()

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 
)