177 return fmaxf(sun_size, 0.0005f);
275 if (dimensions == 4) {
435 ustring value_string;
437 static const int MAX_TYPE = 13;
438 static bool register_types();
440 static const NodeType *node_types[MAX_TYPE][MAX_TYPE];
955 bool has_surface_transparent()
override;
1611 const size_t num_inputs,
1612 const OSLNode *from =
nullptr);
1615 static void operator delete(
void *
ptr)
1620 ::operator
delete(
ptr);
1622 static void operator delete(
void * ,
void * )
1631 char *input_default_value();
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
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.
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool has_spatial_varying() override
uint get_feature() override
bool has_spatial_varying() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
uint get_feature() override
bool is_linear_operation() override
uint get_feature() override
bool has_spatial_varying() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
bool equals(const ShaderNode &) override
uint get_feature() override
bool has_spatial_varying() override
ClosureType get_closure_type() override
bool is_linear_operation() override
BsdfBaseNode(const NodeType *node_type)
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)
uint get_feature() override
void constant_fold(const ConstantFolder &folder) override
bool has_spatial_varying() override
bool has_spatial_varying() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
ConvertNode(SocketType::Type from, SocketType::Type to, bool autoconvert=false)
void compile(SVMCompiler &compiler, const int type, ShaderInput *value_in, ShaderOutput *value_out)
CurvesNode(const NodeType *node_type)
void constant_fold(const ConstantFolder &folder, ShaderInput *value_in)
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
uint get_feature() override
bool is_linear_operation() override
bool has_volume_support() override
void constant_fold(const ConstantFolder &folder) override
uint get_feature() override
bool from_auto_conversion
bool has_surface_emission() override
ShaderNode * clone(ShaderGraph *graph) const override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
ImageParams image_params() const
bool equals(const ShaderNode &other) override
void constant_fold(const ConstantFolder &folder) override
bool has_spatial_varying() override
void constant_fold(const ConstantFolder &folder) override
bool has_spatial_varying() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
ClosureType get_closure_type() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
void simplify_settings(Scene *scene) override
ClosureType get_closure_type() override
ClosureType get_closure_type() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_spatial_varying() override
ClosureType get_closure_type() override
bool is_linear_operation() override
ShaderNode * clone(ShaderGraph *graph) const override
bool equals(const ShaderNode &other) override
ImageSlotTextureNode(const NodeType *node_type)
ImageParams image_params() const
void cull_tiles(Scene *scene, ShaderGraph *graph)
ShaderNode * clone(ShaderGraph *graph) const override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool equals(const ShaderNode &other) override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool has_spatial_varying() override
bool has_spatial_varying() override
bool is_linear_operation() override
void expand(ShaderGraph *graph) override
void constant_fold(const ConstantFolder &folder) override
void expand(ShaderGraph *graph) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool has_spatial_varying() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool is_linear_operation() override
bool equals(const ShaderNode &) override
bool has_volume_support() override
static OSLNode * create(ShaderGraph *graph, const size_t num_inputs, const OSLNode *from=nullptr)
bool has_surface_emission() override
bool has_spatial_varying() override
uint get_feature() override
bool is_linear_operation() override
bool equals(const ShaderNode &) override
void simplify_settings(Scene *scene) override
bool is_linear_operation() override
bool equals(const ShaderNode &) override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool has_spatial_varying() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool has_surface_bssrdf() override
void simplify_settings(Scene *scene) override
bool has_nonzero_weight(const char *name)
bool has_surface_transparent() override
bool has_bssrdf_bump() override
bool has_surface_emission() override
uint get_feature() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool has_surface_transparent() override
uint get_feature() override
ClosureType get_closure_type() override
ScatterVolumeNode(const NodeType *node_type)
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
virtual uint get_feature()
ShaderNodeSpecialType special_type
virtual void constant_fold(const ConstantFolder &)
ShaderNode(const NodeType *type)
ClosureType get_closure_type() override
void simplify_settings(Scene *scene) override
float get_sun_average_radiance()
bool has_bssrdf_bump() override
ClosureType get_closure_type() override
bool has_surface_bssrdf() override
bool has_spatial_varying() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool has_spatial_varying() override
bool has_attribute_dependency() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
int compile(SVMCompiler &compiler, ShaderInput *vector_in)
Transform compute_transform()
void compile(SVMCompiler &compiler, const int offset_in, const int offset_out)
void compile_end(SVMCompiler &compiler, ShaderInput *vector_in, const int vector_offset)
int compile_begin(SVMCompiler &compiler, ShaderInput *vector_in)
TextureMapping tex_mapping
TextureNode(const NodeType *node_type)
bool has_surface_transparent() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_spatial_varying() override
bool has_attribute_dependency() override
bool is_linear_operation() override
void constant_fold(const ConstantFolder &folder) override
void constant_fold(const ConstantFolder &folder) override
uint get_feature() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool is_linear_operation() override
void expand(ShaderGraph *graph) override
void constant_fold(const ConstantFolder &folder) override
bool is_linear_operation() override
bool has_attribute_dependency() override
bool has_spatial_varying() override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
void attributes(Shader *shader, AttributeRequestSet *attributes) override
bool has_attribute_dependency() override
bool has_spatial_varying() override
ClosureType get_closure_type() override
bool has_volume_support() override
bool equals(const ShaderNode &) override
VolumeNode(const NodeType *node_type)
bool is_linear_operation() override
uint get_feature() override
uint get_feature() override
bool has_spatial_varying() override
#define KERNEL_FEATURE_NODE_PORTAL
#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
#define CCL_NAMESPACE_END
IMETHOD void random(Vector &a)
addDelta operator for displacement rotational velocity.
constexpr T clamp(T, U, U) RET
float distance(VecOp< float, D >, VecOp< float, D >) RET
#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(const float color, const float factor)
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
NodeEnvironmentProjection
NodeVectorTransformConvertSpace
NodePrincipledHairParametrization
NodeVoronoiDistanceMetric
#define SHADER_NODE_NO_CLONE_CLASS(type)
@ SHADER_SPECIAL_TYPE_IMAGE_SLOT
#define SHADER_NODE_CLASS(type)
#define SHADER_NODE_BASE_CLASS(type)
float3 sun_direction(float sun_cos_theta)
bool equals(const Node &other) const
Node(const NodeType *type, ustring name=ustring())
static int blend(const Tex *tex, const float texvec[3], TexResult *texres)