Blender  V2.93
Functions
kernel/svm/svm.h File Reference
#include "kernel/svm/svm_types.h"
#include "kernel/svm/svm_noise.h"
#include "svm_fractal_noise.h"
#include "kernel/svm/svm_color_util.h"
#include "kernel/svm/svm_mapping_util.h"
#include "kernel/svm/svm_math_util.h"
#include "kernel/svm/svm_aov.h"
#include "kernel/svm/svm_attribute.h"
#include "kernel/svm/svm_blackbody.h"
#include "kernel/svm/svm_brick.h"
#include "kernel/svm/svm_brightness.h"
#include "kernel/svm/svm_bump.h"
#include "kernel/svm/svm_camera.h"
#include "kernel/svm/svm_checker.h"
#include "kernel/svm/svm_clamp.h"
#include "kernel/svm/svm_closure.h"
#include "kernel/svm/svm_convert.h"
#include "kernel/svm/svm_displace.h"
#include "kernel/svm/svm_fresnel.h"
#include "kernel/svm/svm_gamma.h"
#include "kernel/svm/svm_geometry.h"
#include "kernel/svm/svm_gradient.h"
#include "kernel/svm/svm_hsv.h"
#include "kernel/svm/svm_ies.h"
#include "kernel/svm/svm_image.h"
#include "kernel/svm/svm_invert.h"
#include "kernel/svm/svm_light_path.h"
#include "kernel/svm/svm_magic.h"
#include "kernel/svm/svm_map_range.h"
#include "kernel/svm/svm_mapping.h"
#include "kernel/svm/svm_math.h"
#include "kernel/svm/svm_mix.h"
#include "kernel/svm/svm_musgrave.h"
#include "kernel/svm/svm_noisetex.h"
#include "kernel/svm/svm_normal.h"
#include "kernel/svm/svm_ramp.h"
#include "kernel/svm/svm_sepcomb_hsv.h"
#include "kernel/svm/svm_sepcomb_vector.h"
#include "kernel/svm/svm_sky.h"
#include "kernel/svm/svm_tex_coord.h"
#include "kernel/svm/svm_value.h"
#include "kernel/svm/svm_vector_rotate.h"
#include "kernel/svm/svm_vector_transform.h"
#include "kernel/svm/svm_vertex_color.h"
#include "kernel/svm/svm_voronoi.h"
#include "kernel/svm/svm_voxel.h"
#include "kernel/svm/svm_wave.h"
#include "kernel/svm/svm_wavelength.h"
#include "kernel/svm/svm_white_noise.h"
#include "kernel/svm/svm_wireframe.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 (float *stack, uint a)
 
ccl_device_inline void stack_store_float3 (float *stack, uint a, float3 f)
 
ccl_device_inline float stack_load_float (float *stack, uint a)
 
ccl_device_inline float stack_load_float_default (float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_float (float *stack, uint a, float f)
 
ccl_device_inline int stack_load_int (float *stack, uint a)
 
ccl_device_inline int stack_load_int_default (float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_int (float *stack, uint a, int i)
 
ccl_device_inline bool stack_valid (uint a)
 
ccl_device_inline uint4 read_node (KernelGlobals *kg, int *offset)
 
ccl_device_inline float4 read_node_float (KernelGlobals *kg, int *offset)
 
ccl_device_inline float4 fetch_node_float (KernelGlobals *kg, int offset)
 
ccl_device_forceinline void svm_unpack_node_uchar2 (uint i, uint *x, uint *y)
 
ccl_device_forceinline void svm_unpack_node_uchar3 (uint i, uint *x, uint *y, uint *z)
 
ccl_device_forceinline void svm_unpack_node_uchar4 (uint i, uint *x, uint *y, uint *z, uint *w)
 
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_noinline void svm_eval_nodes (KernelGlobals *kg, ShaderData *sd, ccl_addr_space PathState *state, ccl_global float *buffer, ShaderType type, int path_flag)
 

Function Documentation

◆ fetch_node_float()

ccl_device_inline float4 fetch_node_float ( KernelGlobals *  kg,
int  offset 
)

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

References __uint_as_float(), kernel_tex_fetch, make_float4, and node.

Referenced by rgb_ramp_lookup().

◆ read_node()

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

◆ read_node_float()

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

◆ stack_load_float()

ccl_device_inline float stack_load_float ( float stack,
uint  a 
)

◆ stack_load_float3()

CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 ( float stack,
uint  a 
)

◆ stack_load_float_default()

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

◆ stack_load_int()

ccl_device_inline int stack_load_int ( float stack,
uint  a 
)

◆ stack_load_int_default()

ccl_device_inline int stack_load_int_default ( float stack,
uint  a,
uint  value 
)

Definition at line 89 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 ( float stack,
uint  a,
float  f 
)

◆ stack_store_float3()

ccl_device_inline void stack_store_float3 ( float stack,
uint  a,
float3  f 
)

◆ stack_store_int()

ccl_device_inline void stack_store_int ( float stack,
uint  a,
int  i 
)

Definition at line 94 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()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_noinline void svm_eval_nodes ( KernelGlobals *  kg,
ShaderData sd,
ccl_addr_space PathState state,
ccl_global float buffer,
ShaderType  type,
int  path_flag 
)

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

References buffer, kernel_assert, kg, node, NODE_AMBIENT_OCCLUSION, NODE_AOV_COLOR, NODE_AOV_START, NODE_AOV_VALUE, NODE_ATTR, NODE_ATTR_BUMP_DX, NODE_ATTR_BUMP_DY, NODE_BEVEL, NODE_BLACKBODY, NODE_BRIGHTCONTRAST, NODE_CAMERA, NODE_CLAMP, NODE_CLOSURE_BACKGROUND, NODE_CLOSURE_BSDF, NODE_CLOSURE_EMISSION, NODE_CLOSURE_HOLDOUT, NODE_CLOSURE_SET_NORMAL, NODE_CLOSURE_SET_WEIGHT, NODE_CLOSURE_VOLUME, NODE_CLOSURE_WEIGHT, NODE_COMBINE_HSV, NODE_COMBINE_VECTOR, NODE_CONVERT, NODE_DISPLACEMENT, NODE_EMISSION_WEIGHT, NODE_END, NODE_ENTER_BUMP_EVAL, NODE_FRESNEL, NODE_GAMMA, NODE_GEOMETRY, NODE_GEOMETRY_BUMP_DX, NODE_GEOMETRY_BUMP_DY, NODE_HAIR_INFO, NODE_HSV, NODE_IES, NODE_INVERT, NODE_JUMP_IF_ONE, NODE_JUMP_IF_ZERO, NODE_LAYER_WEIGHT, NODE_LEAVE_BUMP_EVAL, NODE_LIGHT_FALLOFF, NODE_LIGHT_PATH, NODE_MAP_RANGE, NODE_MAPPING, NODE_MATH, NODE_MIN_MAX, NODE_MIX, NODE_MIX_CLOSURE, NODE_NORMAL, NODE_NORMAL_MAP, NODE_OBJECT_INFO, NODE_PARTICLE_INFO, NODE_PRINCIPLED_VOLUME, NODE_RGB_CURVES, NODE_RGB_RAMP, NODE_SEPARATE_HSV, NODE_SEPARATE_VECTOR, NODE_SET_BUMP, NODE_SET_DISPLACEMENT, NODE_SHADER_JUMP, NODE_TANGENT, NODE_TEX_BRICK, NODE_TEX_CHECKER, NODE_TEX_COORD, NODE_TEX_COORD_BUMP_DX, NODE_TEX_COORD_BUMP_DY, NODE_TEX_ENVIRONMENT, NODE_TEX_GRADIENT, NODE_TEX_IMAGE, NODE_TEX_IMAGE_BOX, NODE_TEX_MAGIC, NODE_TEX_MUSGRAVE, NODE_TEX_NOISE, NODE_TEX_SKY, NODE_TEX_VORONOI, NODE_TEX_VOXEL, NODE_TEX_WAVE, NODE_TEX_WHITE_NOISE, NODE_TEXTURE_MAPPING, NODE_VALUE_F, NODE_VALUE_V, NODE_VECTOR_CURVES, NODE_VECTOR_DISPLACEMENT, NODE_VECTOR_MATH, NODE_VECTOR_ROTATE, NODE_VECTOR_TRANSFORM, NODE_VERTEX_COLOR, NODE_VERTEX_COLOR_BUMP_DX, NODE_VERTEX_COLOR_BUMP_DY, NODE_WAVELENGTH, NODE_WIREFRAME, read_node(), SHADER_MASK, SHADER_TYPE_DISPLACEMENT, SHADER_TYPE_SURFACE, SHADER_TYPE_VOLUME, stack_load_float(), state, 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_hsv(), svm_node_combine_vector(), svm_node_convert(), 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_normal(), svm_node_normal_map(), svm_node_object_info(), svm_node_particle_info(), svm_node_principled_volume(), svm_node_rgb_ramp(), 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_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_value_f(), svm_node_value_v(), svm_node_vector_displacement(), 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.

Referenced by shader_eval_displacement(), and shader_eval_surface().

◆ svm_unpack_node_uchar2()

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

◆ svm_unpack_node_uchar3()

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

◆ svm_unpack_node_uchar4()

ccl_device_forceinline void svm_unpack_node_uchar4 ( uint  i,
uint x,
uint y,
uint z,
uint w 
)