176 return fmaxf(sun_size, 0.0005f);
264 if (dimensions == 4) {
451 ustring value_string;
453 static const int MAX_TYPE = 13;
454 static bool register_types();
456 static const NodeType *node_types[MAX_TYPE][MAX_TYPE];
923 bool has_surface_transparent();
1557 static void operator delete(
void *
ptr)
1562 ::operator
delete(
ptr);
1564 static void operator delete(
void *,
void *)
1571 char *input_default_value();
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a color
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its saturation
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its hue
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color attribute
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a producing a negative Combine Generate a color from its and blue Hue Saturation Apply a color transformation in the HSV color model Specular Similar to the Principled BSDF node but uses the specular workflow instead of metallic
ATTR_WARN_UNUSED_RESULT const BMVert * v
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
void constant_fold(const ConstantFolder &folder)
virtual int get_feature()
bool has_spatial_varying()
bool has_spatial_varying()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
virtual int get_feature()
virtual int get_feature()
bool has_spatial_varying()
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
virtual bool equals(const ShaderNode &)
virtual int get_feature()
virtual ClosureType get_closure_type()
BsdfBaseNode(const NodeType *node_type)
bool has_spatial_varying()
BsdfNode(const NodeType *node_type)
void compile(SVMCompiler &compiler, ShaderInput *bsdf_y, ShaderInput *bsdf_z, ShaderInput *data_y=nullptr, ShaderInput *data_z=nullptr, ShaderInput *data_w=nullptr)
virtual int get_feature()
void constant_fold(const ConstantFolder &folder)
bool has_spatial_varying()
bool has_spatial_varying()
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
ConvertNode(SocketType::Type from, SocketType::Type to, bool autoconvert=false)
CurvesNode(const NodeType *node_type)
void compile(SVMCompiler &compiler, int type, ShaderInput *value_in, ShaderOutput *value_out)
void constant_fold(const ConstantFolder &folder, ShaderInput *value_in)
virtual int get_feature()
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
bool has_surface_emission()
bool has_volume_support()
virtual int get_feature()
bool from_auto_conversion
bool has_attribute_dependency()
ImageParams image_params() const
virtual bool equals(const ShaderNode &other)
ShaderNode * clone(ShaderGraph *graph) const
void attributes(Shader *shader, AttributeRequestSet *attributes)
void constant_fold(const ConstantFolder &folder)
bool has_spatial_varying()
void constant_fold(const ConstantFolder &folder)
bool has_spatial_varying()
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
ClosureType get_closure_type()
void attributes(Shader *shader, AttributeRequestSet *attributes)
void simplify_settings(Scene *scene)
bool has_attribute_dependency()
ClosureType get_closure_type()
ClosureType get_closure_type()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
virtual ClosureType get_closure_type()
ShaderNode * clone(ShaderGraph *graph) const
ImageSlotTextureNode(const NodeType *node_type)
virtual bool equals(const ShaderNode &other)
ImageParams image_params() const
void attributes(Shader *shader, AttributeRequestSet *attributes)
void cull_tiles(Scene *scene, ShaderGraph *graph)
bool has_attribute_dependency()
virtual bool equals(const ShaderNode &other)
ShaderNode * clone(ShaderGraph *graph) const
void constant_fold(const ConstantFolder &folder)
bool has_spatial_varying()
bool has_spatial_varying()
void expand(ShaderGraph *graph)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void expand(ShaderGraph *graph)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
virtual bool equals(const ShaderNode &)
static OSLNode * create(ShaderGraph *graph, size_t num_inputs, const OSLNode *from=NULL)
bool has_volume_support()
bool has_spatial_varying()
bool has_surface_emission()
virtual int get_feature()
virtual void simplify_settings(Scene *scene)
virtual bool equals(const ShaderNode &)
virtual bool equals(const ShaderNode &)
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_spatial_varying()
ImageParams image_params() const
virtual bool equals(const ShaderNode &other)
~PointDensityTextureNode()
ShaderNode * clone(ShaderGraph *graph) const
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_attribute_dependency()
bool has_surface_bssrdf()
void simplify_settings(Scene *scene)
bool has_surface_emission()
bool has_surface_transparent()
void attributes(Shader *shader, AttributeRequestSet *attributes)
virtual int get_feature()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
bool has_surface_transparent()
ClosureType get_closure_type()
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
ShaderNodeSpecialType special_type
virtual bool equals(const ShaderNode &other)
virtual int get_feature()
virtual void constant_fold(const ConstantFolder &)
ShaderNode(const NodeType *type)
ClosureType get_closure_type()
void simplify_settings(Scene *scene)
float get_sun_average_radiance()
ClosureType get_closure_type()
bool has_surface_bssrdf()
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_spatial_varying()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
int compile(SVMCompiler &compiler, ShaderInput *vector_in)
void compile_end(SVMCompiler &compiler, ShaderInput *vector_in, int vector_offset)
Transform compute_transform()
void compile(SVMCompiler &compiler, int offset_in, int offset_out)
int compile_begin(SVMCompiler &compiler, ShaderInput *vector_in)
TextureMapping tex_mapping
TextureNode(const NodeType *node_type)
bool has_surface_transparent()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
void constant_fold(const ConstantFolder &folder)
void constant_fold(const ConstantFolder &folder)
virtual int get_feature()
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
void expand(ShaderGraph *graph)
void constant_fold(const ConstantFolder &folder)
bool has_spatial_varying()
void attributes(Shader *shader, AttributeRequestSet *attributes)
bool has_attribute_dependency()
bool has_spatial_varying()
bool has_attribute_dependency()
void attributes(Shader *shader, AttributeRequestSet *attributes)
virtual bool has_volume_support()
virtual int get_feature()
void compile(SVMCompiler &compiler, ShaderInput *density, ShaderInput *param1=nullptr, ShaderInput *param2=nullptr)
virtual ClosureType get_closure_type()
VolumeNode(const NodeType *node_type)
virtual bool equals(const ShaderNode &)
virtual int get_feature()
bool has_spatial_varying()
local_group_size(16, 16) .push_constant(Type b
#define CCL_NAMESPACE_END
smooth(Type::VEC3, "P") .flat(Type out_color storage_buf(0, Qualifier::READ, "Surfel", "surfels_buf[]") .push_constant(Type smooth(Type::VEC4, "interp_color")
IMETHOD void random(Vector &a)
addDelta operator for displacement rotational velocity.
#define NODE_SOCKET_API_STRUCT_MEMBER(type_, name, member)
#define NODE_SOCKET_API_ARRAY(type_, name)
#define NODE_SOCKET_API(type_, name)
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
NodeEnvironmentProjection
NodeVectorTransformConvertSpace
NodePrincipledHairParametrization
NodeVoronoiDistanceMetric
#define KERNEL_FEATURE_NODE_BSDF
#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR
#define KERNEL_FEATURE_NODE_VORONOI_EXTRA
#define KERNEL_FEATURE_NODE_VOLUME
#define KERNEL_FEATURE_NODE_RAYTRACE
#define KERNEL_FEATURE_NODE_EMISSION
#define KERNEL_FEATURE_NODE_BUMP
float distance(float a, float b)
#define SHADER_NODE_NO_CLONE_CLASS(type)
@ SHADER_SPECIAL_TYPE_IMAGE_SLOT
#define SHADER_NODE_CLASS(type)
#define SHADER_NODE_BASE_CLASS(type)
bool equals(const Node &other) const
Node(const NodeType *type, ustring name=ustring())
ccl_device_inline int clamp(int a, int mn, int mx)