Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2020-10-27 13:40:42 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-10-27 13:40:42 +0300
commit30f626fe4cd62f406468ef0ff2169694424b1a29 (patch)
treed428586cd3a6e689ab1e2f5a4222d1e0eb77ada7 /intern/cycles/render/nodes.h
parent17381c7b90eb3acde53eca013ae5a5a55699f17d (diff)
Revert "Cycles API: encapsulate Node socket members"
This reverts commit 527f8b32b32187f754e5b176db6377736f9cb8ff. It is causing motion blur test failures and crashes in some renders, reverting until this is fixed.
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r--intern/cycles/render/nodes.h661
1 files changed, 281 insertions, 380 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index 4d51b4fccaf..62dd9d843a8 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -70,17 +70,6 @@ class TextureNode : public ShaderNode {
{
}
TextureMapping tex_mapping;
- NODE_SOCKET_API_STRUCT_MEMBER(float3, tex_mapping, translation)
- NODE_SOCKET_API_STRUCT_MEMBER(float3, tex_mapping, rotation)
- NODE_SOCKET_API_STRUCT_MEMBER(float3, tex_mapping, scale)
- NODE_SOCKET_API_STRUCT_MEMBER(float3, tex_mapping, min)
- NODE_SOCKET_API_STRUCT_MEMBER(float3, tex_mapping, max)
- NODE_SOCKET_API_STRUCT_MEMBER(bool, tex_mapping, use_minmax)
- NODE_SOCKET_API_STRUCT_MEMBER(TextureMapping::Type, tex_mapping, type)
- NODE_SOCKET_API_STRUCT_MEMBER(TextureMapping::Mapping, tex_mapping, x_mapping)
- NODE_SOCKET_API_STRUCT_MEMBER(TextureMapping::Mapping, tex_mapping, y_mapping)
- NODE_SOCKET_API_STRUCT_MEMBER(TextureMapping::Mapping, tex_mapping, z_mapping)
- NODE_SOCKET_API_STRUCT_MEMBER(TextureMapping::Projection, tex_mapping, projection)
};
/* Any node which uses image manager's slot should be a subclass of this one. */
@@ -119,16 +108,16 @@ class ImageTextureNode : public ImageSlotTextureNode {
ImageParams image_params() const;
/* Parameters. */
- NODE_SOCKET_API(ustring, filename)
- NODE_SOCKET_API(ustring, colorspace)
- NODE_SOCKET_API(ImageAlphaType, alpha_type)
- NODE_SOCKET_API(NodeImageProjection, projection)
- NODE_SOCKET_API(InterpolationType, interpolation)
- NODE_SOCKET_API(ExtensionType, extension)
- NODE_SOCKET_API(float, projection_blend)
- NODE_SOCKET_API(bool, animated)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(array<int>, tiles)
+ ustring filename;
+ ustring colorspace;
+ ImageAlphaType alpha_type;
+ NodeImageProjection projection;
+ InterpolationType interpolation;
+ ExtensionType extension;
+ float projection_blend;
+ bool animated;
+ float3 vector;
+ ccl::vector<int> tiles;
protected:
void cull_tiles(Scene *scene, ShaderGraph *graph);
@@ -157,13 +146,13 @@ class EnvironmentTextureNode : public ImageSlotTextureNode {
ImageParams image_params() const;
/* Parameters. */
- NODE_SOCKET_API(ustring, filename)
- NODE_SOCKET_API(ustring, colorspace)
- NODE_SOCKET_API(ImageAlphaType, alpha_type)
- NODE_SOCKET_API(NodeEnvironmentProjection, projection)
- NODE_SOCKET_API(InterpolationType, interpolation)
- NODE_SOCKET_API(bool, animated)
- NODE_SOCKET_API(float3, vector)
+ ustring filename;
+ ustring colorspace;
+ ImageAlphaType alpha_type;
+ NodeEnvironmentProjection projection;
+ InterpolationType interpolation;
+ bool animated;
+ float3 vector;
};
class SkyTextureNode : public TextureNode {
@@ -175,20 +164,20 @@ class SkyTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(NodeSkyType, sky_type)
- NODE_SOCKET_API(float3, sun_direction)
- NODE_SOCKET_API(float, turbidity)
- NODE_SOCKET_API(float, ground_albedo)
- NODE_SOCKET_API(bool, sun_disc)
- NODE_SOCKET_API(float, sun_size)
- NODE_SOCKET_API(float, sun_intensity)
- NODE_SOCKET_API(float, sun_elevation)
- NODE_SOCKET_API(float, sun_rotation)
- NODE_SOCKET_API(float, altitude)
- NODE_SOCKET_API(float, air_density)
- NODE_SOCKET_API(float, dust_density)
- NODE_SOCKET_API(float, ozone_density)
- NODE_SOCKET_API(float3, vector)
+ NodeSkyType type;
+ float3 sun_direction;
+ float turbidity;
+ float ground_albedo;
+ bool sun_disc;
+ float sun_size;
+ float sun_intensity;
+ float sun_elevation;
+ float sun_rotation;
+ float altitude;
+ float air_density;
+ float dust_density;
+ float ozone_density;
+ float3 vector;
ImageHandle handle;
float get_sun_size()
@@ -202,10 +191,10 @@ class OutputNode : public ShaderNode {
public:
SHADER_NODE_CLASS(OutputNode)
- NODE_SOCKET_API(Node *, surface)
- NODE_SOCKET_API(Node *, volume)
- NODE_SOCKET_API(float3, displacement)
- NODE_SOCKET_API(float3, normal)
+ void *surface;
+ void *volume;
+ float3 displacement;
+ float3 normal;
/* Don't allow output node de-duplication. */
virtual bool equals(const ShaderNode & /*other*/)
@@ -219,10 +208,10 @@ class OutputAOVNode : public ShaderNode {
SHADER_NODE_CLASS(OutputAOVNode)
virtual void simplify_settings(Scene *scene);
- NODE_SOCKET_API(float, value)
- NODE_SOCKET_API(float3, color)
+ float value;
+ float3 color;
- NODE_SOCKET_API(ustring, name)
+ ustring name;
virtual int get_group()
{
@@ -248,21 +237,17 @@ class GradientTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(NodeGradientType, gradient_type)
- NODE_SOCKET_API(float3, vector)
+ NodeGradientType type;
+ float3 vector;
};
class NoiseTextureNode : public TextureNode {
public:
SHADER_NODE_CLASS(NoiseTextureNode)
- NODE_SOCKET_API(int, dimensions)
- NODE_SOCKET_API(float, w)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, detail)
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(float, distortion)
- NODE_SOCKET_API(float3, vector)
+ int dimensions;
+ float w, scale, detail, roughness, distortion;
+ float3 vector;
};
class VoronoiTextureNode : public TextureNode {
@@ -286,15 +271,11 @@ class VoronoiTextureNode : public TextureNode {
return result;
}
- NODE_SOCKET_API(int, dimensions)
- NODE_SOCKET_API(NodeVoronoiDistanceMetric, metric)
- NODE_SOCKET_API(NodeVoronoiFeature, feature)
- NODE_SOCKET_API(float, w)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, exponent)
- NODE_SOCKET_API(float, smoothness)
- NODE_SOCKET_API(float, randomness)
- NODE_SOCKET_API(float3, vector)
+ int dimensions;
+ NodeVoronoiDistanceMetric metric;
+ NodeVoronoiFeature feature;
+ float w, scale, exponent, smoothness, randomness;
+ float3 vector;
};
class MusgraveTextureNode : public TextureNode {
@@ -306,16 +287,10 @@ class MusgraveTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(int, dimensions)
- NODE_SOCKET_API(NodeMusgraveType, musgrave_type)
- NODE_SOCKET_API(float, w)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, detail)
- NODE_SOCKET_API(float, dimension)
- NODE_SOCKET_API(float, lacunarity)
- NODE_SOCKET_API(float, offset)
- NODE_SOCKET_API(float, gain)
- NODE_SOCKET_API(float3, vector)
+ int dimensions;
+ NodeMusgraveType type;
+ float w, scale, detail, dimension, lacunarity, offset, gain;
+ float3 vector;
};
class WaveTextureNode : public TextureNode {
@@ -327,18 +302,13 @@ class WaveTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(NodeWaveType, wave_type)
- NODE_SOCKET_API(NodeWaveBandsDirection, bands_direction)
- NODE_SOCKET_API(NodeWaveRingsDirection, rings_direction)
- NODE_SOCKET_API(NodeWaveProfile, profile)
+ NodeWaveType type;
+ NodeWaveBandsDirection bands_direction;
+ NodeWaveRingsDirection rings_direction;
+ NodeWaveProfile profile;
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, distortion)
- NODE_SOCKET_API(float, detail)
- NODE_SOCKET_API(float, detail_scale)
- NODE_SOCKET_API(float, detail_roughness)
- NODE_SOCKET_API(float, phase)
- NODE_SOCKET_API(float3, vector)
+ float scale, distortion, detail, detail_scale, detail_roughness, phase;
+ float3 vector;
};
class MagicTextureNode : public TextureNode {
@@ -350,20 +320,17 @@ class MagicTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(int, depth)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, distortion)
+ int depth;
+ float3 vector;
+ float scale, distortion;
};
class CheckerTextureNode : public TextureNode {
public:
SHADER_NODE_CLASS(CheckerTextureNode)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float3, color1)
- NODE_SOCKET_API(float3, color2)
- NODE_SOCKET_API(float, scale)
+ float3 vector, color1, color2;
+ float scale;
virtual int get_group()
{
@@ -375,21 +342,12 @@ class BrickTextureNode : public TextureNode {
public:
SHADER_NODE_CLASS(BrickTextureNode)
- NODE_SOCKET_API(float, offset)
- NODE_SOCKET_API(float, squash)
- NODE_SOCKET_API(int, offset_frequency)
- NODE_SOCKET_API(int, squash_frequency)
-
- NODE_SOCKET_API(float3, color1)
- NODE_SOCKET_API(float3, color2)
- NODE_SOCKET_API(float3, mortar)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float, mortar_size)
- NODE_SOCKET_API(float, mortar_smooth)
- NODE_SOCKET_API(float, bias)
- NODE_SOCKET_API(float, brick_width)
- NODE_SOCKET_API(float, row_height)
- NODE_SOCKET_API(float3, vector)
+ float offset, squash;
+ int offset_frequency, squash_frequency;
+
+ float3 color1, color2, mortar;
+ float scale, mortar_size, mortar_smooth, bias, brick_width, row_height;
+ float3 vector;
virtual int get_group()
{
@@ -419,11 +377,11 @@ class PointDensityTextureNode : public ShaderNode {
}
/* Parameters. */
- NODE_SOCKET_API(ustring, filename)
- NODE_SOCKET_API(NodeTexVoxelSpace, space)
- NODE_SOCKET_API(InterpolationType, interpolation)
- NODE_SOCKET_API(Transform, tfm)
- NODE_SOCKET_API(float3, vector)
+ ustring filename;
+ NodeTexVoxelSpace space;
+ InterpolationType interpolation;
+ Transform tfm;
+ float3 vector;
/* Runtime. */
ImageHandle handle;
@@ -448,11 +406,11 @@ class IESLightNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(ustring, filename)
- NODE_SOCKET_API(ustring, ies)
+ ustring filename;
+ ustring ies;
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float3, vector)
+ float strength;
+ float3 vector;
private:
LightManager *light_manager;
@@ -469,9 +427,9 @@ class WhiteNoiseTextureNode : public ShaderNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(int, dimensions)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float, w)
+ int dimensions;
+ float3 vector;
+ float w;
};
class MappingNode : public ShaderNode {
@@ -483,11 +441,8 @@ class MappingNode : public ShaderNode {
}
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float3, location)
- NODE_SOCKET_API(float3, rotation)
- NODE_SOCKET_API(float3, scale)
- NODE_SOCKET_API(NodeMappingType, mapping_type)
+ float3 vector, location, rotation, scale;
+ NodeMappingType type;
};
class RGBToBWNode : public ShaderNode {
@@ -495,7 +450,7 @@ class RGBToBWNode : public ShaderNode {
SHADER_NODE_CLASS(RGBToBWNode)
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float3, color)
+ float3 color;
};
class ConvertNode : public ShaderNode {
@@ -505,7 +460,6 @@ class ConvertNode : public ShaderNode {
void constant_fold(const ConstantFolder &folder);
- private:
SocketType::Type from, to;
union {
@@ -518,6 +472,7 @@ class ConvertNode : public ShaderNode {
};
ustring value_string;
+ private:
static const int MAX_TYPE = 12;
static bool register_types();
static Node *create(const NodeType *type);
@@ -545,7 +500,6 @@ class BsdfBaseNode : public ShaderNode {
return false;
}
- protected:
ClosureType closure;
};
@@ -560,20 +514,18 @@ class BsdfNode : public BsdfBaseNode {
ShaderInput *param3 = NULL,
ShaderInput *param4 = NULL);
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float, surface_mix_weight)
+ float3 color;
+ float3 normal;
+ float surface_mix_weight;
};
class AnisotropicBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(AnisotropicBsdfNode)
- NODE_SOCKET_API(float3, tangent)
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(float, anisotropy)
- NODE_SOCKET_API(float, rotation)
- NODE_SOCKET_API(ClosureType, distribution)
+ float3 tangent;
+ float roughness, anisotropy, rotation;
+ ClosureType distribution;
ClosureType get_closure_type()
{
@@ -590,7 +542,7 @@ class DiffuseBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(DiffuseBsdfNode)
- NODE_SOCKET_API(float, roughness)
+ float roughness;
};
/* Disney principled BRDF */
@@ -618,37 +570,19 @@ class PrincipledBsdfNode : public BsdfBaseNode {
ShaderInput *anisotropic_rotation,
ShaderInput *transmission_roughness);
- NODE_SOCKET_API(float3, base_color)
- NODE_SOCKET_API(float3, subsurface_color)
- NODE_SOCKET_API(float3, subsurface_radius)
- NODE_SOCKET_API(float, metallic)
- NODE_SOCKET_API(float, subsurface)
- NODE_SOCKET_API(float, specular)
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(float, specular_tint)
- NODE_SOCKET_API(float, anisotropic)
- NODE_SOCKET_API(float, sheen)
- NODE_SOCKET_API(float, sheen_tint)
- NODE_SOCKET_API(float, clearcoat)
- NODE_SOCKET_API(float, clearcoat_roughness)
- NODE_SOCKET_API(float, ior)
- NODE_SOCKET_API(float, transmission)
- NODE_SOCKET_API(float, anisotropic_rotation)
- NODE_SOCKET_API(float, transmission_roughness)
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float3, clearcoat_normal)
- NODE_SOCKET_API(float3, tangent)
- NODE_SOCKET_API(float, surface_mix_weight)
- NODE_SOCKET_API(ClosureType, distribution)
- NODE_SOCKET_API(ClosureType, subsurface_method)
- NODE_SOCKET_API(float3, emission)
- NODE_SOCKET_API(float, emission_strength)
- NODE_SOCKET_API(float, alpha)
+ float3 base_color;
+ float3 subsurface_color, subsurface_radius;
+ float metallic, subsurface, specular, roughness, specular_tint, anisotropic, sheen, sheen_tint,
+ clearcoat, clearcoat_roughness, ior, transmission, anisotropic_rotation,
+ transmission_roughness;
+ float3 normal, clearcoat_normal, tangent;
+ float surface_mix_weight;
+ ClosureType distribution, distribution_orig;
+ ClosureType subsurface_method;
+ float3 emission;
+ float emission_strength;
+ float alpha;
- private:
- ClosureType distribution_orig;
-
- public:
bool has_integrator_dependency();
void attributes(Shader *shader, AttributeRequestSet *attributes);
bool has_attribute_dependency()
@@ -676,7 +610,7 @@ class VelvetBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(VelvetBsdfNode)
- NODE_SOCKET_API(float, sigma)
+ float sigma;
};
class GlossyBsdfNode : public BsdfNode {
@@ -690,12 +624,8 @@ class GlossyBsdfNode : public BsdfNode {
return distribution;
}
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(ClosureType, distribution)
-
- private:
- float roughness_orig;
- ClosureType distribution_orig;
+ float roughness, roughness_orig;
+ ClosureType distribution, distribution_orig;
};
class GlassBsdfNode : public BsdfNode {
@@ -709,13 +639,8 @@ class GlassBsdfNode : public BsdfNode {
return distribution;
}
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(float, IOR)
- NODE_SOCKET_API(ClosureType, distribution)
-
- private:
- float roughness_orig;
- ClosureType distribution_orig;
+ float roughness, roughness_orig, IOR;
+ ClosureType distribution, distribution_orig;
};
class RefractionBsdfNode : public BsdfNode {
@@ -729,22 +654,16 @@ class RefractionBsdfNode : public BsdfNode {
return distribution;
}
- NODE_SOCKET_API(float, roughness)
- NODE_SOCKET_API(float, IOR)
- NODE_SOCKET_API(ClosureType, distribution)
-
- private:
- float roughness_orig;
- ClosureType distribution_orig;
+ float roughness, roughness_orig, IOR;
+ ClosureType distribution, distribution_orig;
};
class ToonBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(ToonBsdfNode)
- NODE_SOCKET_API(float, smooth)
- NODE_SOCKET_API(float, size)
- NODE_SOCKET_API(ClosureType, component)
+ float smooth, size;
+ ClosureType component;
};
class SubsurfaceScatteringNode : public BsdfNode {
@@ -760,11 +679,11 @@ class SubsurfaceScatteringNode : public BsdfNode {
return falloff;
}
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float3, radius)
- NODE_SOCKET_API(float, sharpness)
- NODE_SOCKET_API(float, texture_blur)
- NODE_SOCKET_API(ClosureType, falloff)
+ float scale;
+ float3 radius;
+ float sharpness;
+ float texture_blur;
+ ClosureType falloff;
};
class EmissionNode : public ShaderNode {
@@ -781,9 +700,9 @@ class EmissionNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float, surface_mix_weight)
+ float3 color;
+ float strength;
+ float surface_mix_weight;
};
class BackgroundNode : public ShaderNode {
@@ -791,9 +710,9 @@ class BackgroundNode : public ShaderNode {
SHADER_NODE_CLASS(BackgroundNode)
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float, surface_mix_weight)
+ float3 color;
+ float strength;
+ float surface_mix_weight;
};
class HoldoutNode : public ShaderNode {
@@ -808,8 +727,8 @@ class HoldoutNode : public ShaderNode {
return CLOSURE_HOLDOUT_ID;
}
- NODE_SOCKET_API(float, surface_mix_weight)
- NODE_SOCKET_API(float, volume_mix_weight)
+ float surface_mix_weight;
+ float volume_mix_weight;
};
class AmbientOcclusionNode : public ShaderNode {
@@ -829,13 +748,13 @@ class AmbientOcclusionNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, distance)
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(int, samples)
+ float3 color;
+ float distance;
+ float3 normal;
+ int samples;
- NODE_SOCKET_API(bool, only_local)
- NODE_SOCKET_API(bool, inside)
+ bool only_local;
+ bool inside;
};
class VolumeNode : public ShaderNode {
@@ -861,14 +780,11 @@ class VolumeNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, density)
- NODE_SOCKET_API(float, volume_mix_weight)
-
- protected:
+ float3 color;
+ float density;
+ float volume_mix_weight;
ClosureType closure;
- public:
virtual bool equals(const ShaderNode & /*other*/)
{
/* TODO(sergey): With some care Volume nodes can be de-duplicated. */
@@ -885,7 +801,7 @@ class ScatterVolumeNode : public VolumeNode {
public:
SHADER_NODE_CLASS(ScatterVolumeNode)
- NODE_SOCKET_API(float, anisotropy)
+ float anisotropy;
};
class PrincipledVolumeNode : public VolumeNode {
@@ -897,17 +813,17 @@ class PrincipledVolumeNode : public VolumeNode {
return true;
}
- NODE_SOCKET_API(ustring, density_attribute)
- NODE_SOCKET_API(ustring, color_attribute)
- NODE_SOCKET_API(ustring, temperature_attribute)
+ ustring density_attribute;
+ ustring color_attribute;
+ ustring temperature_attribute;
- NODE_SOCKET_API(float, anisotropy)
- NODE_SOCKET_API(float3, absorption_color)
- NODE_SOCKET_API(float, emission_strength)
- NODE_SOCKET_API(float3, emission_color)
- NODE_SOCKET_API(float, blackbody_intensity)
- NODE_SOCKET_API(float3, blackbody_tint)
- NODE_SOCKET_API(float, temperature)
+ float anisotropy;
+ float3 absorption_color;
+ float emission_strength;
+ float3 emission_color;
+ float blackbody_intensity;
+ float3 blackbody_tint;
+ float temperature;
};
/* Interface between the I/O sockets and the SVM/OSL backend. */
@@ -917,36 +833,36 @@ class PrincipledHairBsdfNode : public BsdfBaseNode {
void attributes(Shader *shader, AttributeRequestSet *attributes);
/* Longitudinal roughness. */
- NODE_SOCKET_API(float, roughness)
+ float roughness;
/* Azimuthal roughness. */
- NODE_SOCKET_API(float, radial_roughness)
+ float radial_roughness;
/* Randomization factor for roughnesses. */
- NODE_SOCKET_API(float, random_roughness)
+ float random_roughness;
/* Longitudinal roughness factor for only the diffuse bounce (shiny undercoat). */
- NODE_SOCKET_API(float, coat)
+ float coat;
/* Index of reflection. */
- NODE_SOCKET_API(float, ior)
+ float ior;
/* Cuticle tilt angle. */
- NODE_SOCKET_API(float, offset)
+ float offset;
/* Direct coloring's color. */
- NODE_SOCKET_API(float3, color)
+ float3 color;
/* Melanin concentration. */
- NODE_SOCKET_API(float, melanin)
+ float melanin;
/* Melanin redness ratio. */
- NODE_SOCKET_API(float, melanin_redness)
+ float melanin_redness;
/* Dye color. */
- NODE_SOCKET_API(float3, tint)
+ float3 tint;
/* Randomization factor for melanin quantities. */
- NODE_SOCKET_API(float, random_color)
+ float random_color;
/* Absorption coefficient (unfiltered). */
- NODE_SOCKET_API(float3, absorption_coefficient)
+ float3 absorption_coefficient;
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float, surface_mix_weight)
+ float3 normal;
+ float surface_mix_weight;
/* If linked, here will be the given random number. */
- NODE_SOCKET_API(float, random)
+ float random;
/* Selected coloring parametrization. */
- NODE_SOCKET_API(NodePrincipledHairParametrization, parametrization)
+ NodePrincipledHairParametrization parametrization;
};
class HairBsdfNode : public BsdfNode {
@@ -957,11 +873,11 @@ class HairBsdfNode : public BsdfNode {
return component;
}
- NODE_SOCKET_API(ClosureType, component)
- NODE_SOCKET_API(float, offset)
- NODE_SOCKET_API(float, roughness_u)
- NODE_SOCKET_API(float, roughness_v)
- NODE_SOCKET_API(float3, tangent)
+ ClosureType component;
+ float offset;
+ float roughness_u;
+ float roughness_v;
+ float3 tangent;
};
class GeometryNode : public ShaderNode {
@@ -978,7 +894,7 @@ class GeometryNode : public ShaderNode {
}
int get_group();
- NODE_SOCKET_API(float3, normal_osl)
+ float3 normal_osl;
};
class TextureCoordinateNode : public ShaderNode {
@@ -994,10 +910,10 @@ class TextureCoordinateNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(float3, normal_osl)
- NODE_SOCKET_API(bool, from_dupli)
- NODE_SOCKET_API(bool, use_transform)
- NODE_SOCKET_API(Transform, ob_tfm)
+ float3 normal_osl;
+ bool from_dupli;
+ bool use_transform;
+ Transform ob_tfm;
};
class UVMapNode : public ShaderNode {
@@ -1017,8 +933,8 @@ class UVMapNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(ustring, attribute)
- NODE_SOCKET_API(bool, from_dupli)
+ ustring attribute;
+ bool from_dupli;
};
class LightPathNode : public ShaderNode {
@@ -1042,8 +958,8 @@ class LightFalloffNode : public ShaderNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float, smooth)
+ float strength;
+ float smooth;
};
class ObjectInfoNode : public ShaderNode {
@@ -1120,7 +1036,7 @@ class VertexColorNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(ustring, layer_name)
+ ustring layer_name;
};
class ValueNode : public ShaderNode {
@@ -1129,7 +1045,7 @@ class ValueNode : public ShaderNode {
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float, value)
+ float value;
};
class ColorNode : public ShaderNode {
@@ -1138,7 +1054,7 @@ class ColorNode : public ShaderNode {
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float3, value)
+ float3 value;
};
class AddClosureNode : public ShaderNode {
@@ -1152,15 +1068,15 @@ class MixClosureNode : public ShaderNode {
SHADER_NODE_CLASS(MixClosureNode)
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float, fac)
+ float fac;
};
class MixClosureWeightNode : public ShaderNode {
public:
SHADER_NODE_CLASS(MixClosureWeightNode)
- NODE_SOCKET_API(float, weight)
- NODE_SOCKET_API(float, fac)
+ float weight;
+ float fac;
};
class InvertNode : public ShaderNode {
@@ -1172,8 +1088,8 @@ class InvertNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, fac)
- NODE_SOCKET_API(float3, color)
+ float fac;
+ float3 color;
};
class MixNode : public ShaderNode {
@@ -1186,11 +1102,11 @@ class MixNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(NodeMix, mix_type)
- NODE_SOCKET_API(bool, use_clamp)
- NODE_SOCKET_API(float3, color1)
- NODE_SOCKET_API(float3, color2)
- NODE_SOCKET_API(float, fac)
+ NodeMix type;
+ bool use_clamp;
+ float3 color1;
+ float3 color2;
+ float fac;
};
class CombineRGBNode : public ShaderNode {
@@ -1202,9 +1118,7 @@ class CombineRGBNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, r)
- NODE_SOCKET_API(float, g)
- NODE_SOCKET_API(float, b)
+ float r, g, b;
};
class CombineHSVNode : public ShaderNode {
@@ -1216,9 +1130,7 @@ class CombineHSVNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, h)
- NODE_SOCKET_API(float, s)
- NODE_SOCKET_API(float, v)
+ float h, s, v;
};
class CombineXYZNode : public ShaderNode {
@@ -1230,9 +1142,7 @@ class CombineXYZNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, x)
- NODE_SOCKET_API(float, y)
- NODE_SOCKET_API(float, z)
+ float x, y, z;
};
class GammaNode : public ShaderNode {
@@ -1244,8 +1154,8 @@ class GammaNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, gamma)
+ float3 color;
+ float gamma;
};
class BrightContrastNode : public ShaderNode {
@@ -1257,9 +1167,9 @@ class BrightContrastNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float, bright)
- NODE_SOCKET_API(float, contrast)
+ float3 color;
+ float bright;
+ float contrast;
};
class SeparateRGBNode : public ShaderNode {
@@ -1271,7 +1181,7 @@ class SeparateRGBNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float3, color)
+ float3 color;
};
class SeparateHSVNode : public ShaderNode {
@@ -1283,7 +1193,7 @@ class SeparateHSVNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float3, color)
+ float3 color;
};
class SeparateXYZNode : public ShaderNode {
@@ -1295,18 +1205,18 @@ class SeparateXYZNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float3, vector)
+ float3 vector;
};
class HSVNode : public ShaderNode {
public:
SHADER_NODE_CLASS(HSVNode)
- NODE_SOCKET_API(float, hue)
- NODE_SOCKET_API(float, saturation)
- NODE_SOCKET_API(float, value)
- NODE_SOCKET_API(float, fac)
- NODE_SOCKET_API(float3, color)
+ float hue;
+ float saturation;
+ float value;
+ float fac;
+ float3 color;
};
class AttributeNode : public ShaderNode {
@@ -1322,7 +1232,7 @@ class AttributeNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(ustring, attribute)
+ ustring attribute;
};
class CameraNode : public ShaderNode {
@@ -1350,8 +1260,8 @@ class FresnelNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float, IOR)
+ float3 normal;
+ float IOR;
};
class LayerWeightNode : public ShaderNode {
@@ -1366,8 +1276,8 @@ class LayerWeightNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float, blend)
+ float3 normal;
+ float blend;
};
class WireframeNode : public ShaderNode {
@@ -1382,8 +1292,8 @@ class WireframeNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, size)
- NODE_SOCKET_API(bool, use_pixel_size)
+ float size;
+ bool use_pixel_size;
};
class WavelengthNode : public ShaderNode {
@@ -1394,7 +1304,7 @@ class WavelengthNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, wavelength)
+ float wavelength;
};
class BlackbodyNode : public ShaderNode {
@@ -1406,7 +1316,7 @@ class BlackbodyNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, temperature)
+ float temperature;
};
class MapRangeNode : public ShaderNode {
@@ -1418,14 +1328,9 @@ class MapRangeNode : public ShaderNode {
}
void expand(ShaderGraph *graph);
- NODE_SOCKET_API(float, value)
- NODE_SOCKET_API(float, from_min)
- NODE_SOCKET_API(float, from_max)
- NODE_SOCKET_API(float, to_min)
- NODE_SOCKET_API(float, to_max)
- NODE_SOCKET_API(float, steps)
- NODE_SOCKET_API(NodeMapRangeType, range_type)
- NODE_SOCKET_API(bool, clamp)
+ float value, from_min, from_max, to_min, to_max, steps;
+ NodeMapRangeType type;
+ bool clamp;
};
class ClampNode : public ShaderNode {
@@ -1436,10 +1341,8 @@ class ClampNode : public ShaderNode {
{
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(float, value)
- NODE_SOCKET_API(float, min)
- NODE_SOCKET_API(float, max)
- NODE_SOCKET_API(NodeClampType, clamp_type)
+ float value, min, max;
+ NodeClampType type;
};
class MathNode : public ShaderNode {
@@ -1452,11 +1355,11 @@ class MathNode : public ShaderNode {
void expand(ShaderGraph *graph);
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float, value1)
- NODE_SOCKET_API(float, value2)
- NODE_SOCKET_API(float, value3)
- NODE_SOCKET_API(NodeMathType, math_type)
- NODE_SOCKET_API(bool, use_clamp)
+ float value1;
+ float value2;
+ float value3;
+ NodeMathType type;
+ bool use_clamp;
};
class NormalNode : public ShaderNode {
@@ -1467,8 +1370,8 @@ class NormalNode : public ShaderNode {
return NODE_GROUP_LEVEL_2;
}
- NODE_SOCKET_API(float3, direction)
- NODE_SOCKET_API(float3, normal)
+ float3 direction;
+ float3 normal;
};
class VectorMathNode : public ShaderNode {
@@ -1480,11 +1383,11 @@ class VectorMathNode : public ShaderNode {
}
void constant_fold(const ConstantFolder &folder);
- NODE_SOCKET_API(float3, vector1)
- NODE_SOCKET_API(float3, vector2)
- NODE_SOCKET_API(float3, vector3)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(NodeVectorMathType, math_type)
+ float3 vector1;
+ float3 vector2;
+ float3 vector3;
+ float scale;
+ NodeVectorMathType type;
};
class VectorRotateNode : public ShaderNode {
@@ -1495,13 +1398,13 @@ class VectorRotateNode : public ShaderNode {
{
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(NodeVectorRotateType, rotate_type)
- NODE_SOCKET_API(bool, invert)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float3, center)
- NODE_SOCKET_API(float3, axis)
- NODE_SOCKET_API(float, angle)
- NODE_SOCKET_API(float3, rotation)
+ NodeVectorRotateType type;
+ bool invert;
+ float3 vector;
+ float3 center;
+ float3 axis;
+ float angle;
+ float3 rotation;
};
class VectorTransformNode : public ShaderNode {
@@ -1513,10 +1416,10 @@ class VectorTransformNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(NodeVectorTransformType, transform_type)
- NODE_SOCKET_API(NodeVectorTransformConvertSpace, convert_from)
- NODE_SOCKET_API(NodeVectorTransformConvertSpace, convert_to)
- NODE_SOCKET_API(float3, vector)
+ NodeVectorTransformType type;
+ NodeVectorTransformConvertSpace convert_from;
+ NodeVectorTransformConvertSpace convert_to;
+ float3 vector;
};
class BumpNode : public ShaderNode {
@@ -1532,15 +1435,15 @@ class BumpNode : public ShaderNode {
return NODE_FEATURE_BUMP;
}
- NODE_SOCKET_API(bool, invert)
- NODE_SOCKET_API(bool, use_object_space)
- NODE_SOCKET_API(float, height)
- NODE_SOCKET_API(float, sample_center)
- NODE_SOCKET_API(float, sample_x)
- NODE_SOCKET_API(float, sample_y)
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float, distance)
+ bool invert;
+ bool use_object_space;
+ float height;
+ float sample_center;
+ float sample_x;
+ float sample_y;
+ float3 normal;
+ float strength;
+ float distance;
};
class CurvesNode : public ShaderNode {
@@ -1553,11 +1456,9 @@ class CurvesNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(array<float3>, curves)
- NODE_SOCKET_API(float, min_x)
- NODE_SOCKET_API(float, max_x)
- NODE_SOCKET_API(float, fac)
- NODE_SOCKET_API(float3, value)
+ array<float3> curves;
+ float min_x, max_x, fac;
+ float3 value;
protected:
using ShaderNode::constant_fold;
@@ -1587,16 +1488,16 @@ class RGBRampNode : public ShaderNode {
return NODE_GROUP_LEVEL_1;
}
- NODE_SOCKET_API(array<float3>, ramp)
- NODE_SOCKET_API(array<float>, ramp_alpha)
- NODE_SOCKET_API(float, fac)
- NODE_SOCKET_API(bool, interpolate)
+ array<float3> ramp;
+ array<float> ramp_alpha;
+ float fac;
+ bool interpolate;
};
class SetNormalNode : public ShaderNode {
public:
SHADER_NODE_CLASS(SetNormalNode)
- NODE_SOCKET_API(float3, direction)
+ float3 direction;
};
class OSLNode : public ShaderNode {
@@ -1648,11 +1549,11 @@ class NormalMapNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(NodeNormalMapSpace, space)
- NODE_SOCKET_API(ustring, attribute)
- NODE_SOCKET_API(float, strength)
- NODE_SOCKET_API(float3, color)
- NODE_SOCKET_API(float3, normal_osl)
+ NodeNormalMapSpace space;
+ ustring attribute;
+ float strength;
+ float3 color;
+ float3 normal_osl;
};
class TangentNode : public ShaderNode {
@@ -1672,10 +1573,10 @@ class TangentNode : public ShaderNode {
return NODE_GROUP_LEVEL_3;
}
- NODE_SOCKET_API(NodeTangentDirectionType, direction_type)
- NODE_SOCKET_API(NodeTangentAxis, axis)
- NODE_SOCKET_API(ustring, attribute)
- NODE_SOCKET_API(float3, normal_osl)
+ NodeTangentDirectionType direction_type;
+ NodeTangentAxis axis;
+ ustring attribute;
+ float3 normal_osl;
};
class BevelNode : public ShaderNode {
@@ -1694,9 +1595,9 @@ class BevelNode : public ShaderNode {
return true;
}
- NODE_SOCKET_API(float, radius)
- NODE_SOCKET_API(float3, normal)
- NODE_SOCKET_API(int, samples)
+ float radius;
+ float3 normal;
+ int samples;
};
class DisplacementNode : public ShaderNode {
@@ -1708,11 +1609,11 @@ class DisplacementNode : public ShaderNode {
return NODE_FEATURE_BUMP;
}
- NODE_SOCKET_API(NodeNormalMapSpace, space)
- NODE_SOCKET_API(float, height)
- NODE_SOCKET_API(float, midlevel)
- NODE_SOCKET_API(float, scale)
- NODE_SOCKET_API(float3, normal)
+ NodeNormalMapSpace space;
+ float height;
+ float midlevel;
+ float scale;
+ float3 normal;
};
class VectorDisplacementNode : public ShaderNode {
@@ -1729,11 +1630,11 @@ class VectorDisplacementNode : public ShaderNode {
return NODE_FEATURE_BUMP;
}
- NODE_SOCKET_API(NodeNormalMapSpace, space)
- NODE_SOCKET_API(ustring, attribute)
- NODE_SOCKET_API(float3, vector)
- NODE_SOCKET_API(float, midlevel)
- NODE_SOCKET_API(float, scale)
+ NodeNormalMapSpace space;
+ ustring attribute;
+ float3 vector;
+ float midlevel;
+ float scale;
};
CCL_NAMESPACE_END