[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41599] branches/cycles: Cycles: procedural texture nodes reorganization.
Brecht Van Lommel
brechtvanlommel at pandora.be
Sun Nov 6 22:05:59 CET 2011
Revision: 41599
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41599
Author: blendix
Date: 2011-11-06 21:05:58 +0000 (Sun, 06 Nov 2011)
Log Message:
-----------
Cycles: procedural texture nodes reorganization. This will break existing files
using them, but rather do it now that I have the chance still. Highlights:
* Wood and Marble merged into a single Wave texture
* Clouds + Distorted Noise merged into new Noise node
* Blend renamed to Gradient
* Stucci removed, was mostly useful for old bump
* Noise removed, will come back later, didn't actually work yet
* Depth setting is now Detail socket, which accepts float values
* Scale socket instead of Size socket
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures
Modified Paths:
--------------
branches/cycles/intern/cycles/blender/blender_shader.cpp
branches/cycles/intern/cycles/kernel/CMakeLists.txt
branches/cycles/intern/cycles/kernel/svm/svm.h
branches/cycles/intern/cycles/kernel/svm/svm_fresnel.h
branches/cycles/intern/cycles/kernel/svm/svm_magic.h
branches/cycles/intern/cycles/kernel/svm/svm_musgrave.h
branches/cycles/intern/cycles/kernel/svm/svm_texture.h
branches/cycles/intern/cycles/kernel/svm/svm_types.h
branches/cycles/intern/cycles/kernel/svm/svm_voronoi.h
branches/cycles/intern/cycles/render/nodes.cpp
branches/cycles/intern/cycles/render/nodes.h
branches/cycles/intern/cycles/util/util_hash.h
branches/cycles/source/blender/blenkernel/BKE_node.h
branches/cycles/source/blender/blenkernel/intern/node.c
branches/cycles/source/blender/blenloader/intern/readfile.c
branches/cycles/source/blender/editors/space_node/drawnode.c
branches/cycles/source/blender/makesdna/DNA_node_types.h
branches/cycles/source/blender/makesrna/intern/rna_nodetree.c
branches/cycles/source/blender/makesrna/intern/rna_nodetree_types.h
branches/cycles/source/blender/nodes/CMakeLists.txt
branches/cycles/source/blender/nodes/NOD_shader.h
branches/cycles/source/blender/nodes/shader/nodes/node_shader_noise.h
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_magic.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c
Added Paths:
-----------
branches/cycles/intern/cycles/kernel/svm/svm_gradient.h
branches/cycles/intern/cycles/kernel/svm/svm_noisetex.h
branches/cycles/intern/cycles/kernel/svm/svm_wave.h
branches/cycles/source/blender/nodes/shader/nodes/node_shader_layer_weight.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_noise.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_wave.c
Removed Paths:
-------------
branches/cycles/intern/cycles/kernel/svm/svm_blend.h
branches/cycles/intern/cycles/kernel/svm/svm_clouds.h
branches/cycles/intern/cycles/kernel/svm/svm_distorted_noise.h
branches/cycles/intern/cycles/kernel/svm/svm_marble.h
branches/cycles/intern/cycles/kernel/svm/svm_noisetex.h
branches/cycles/intern/cycles/kernel/svm/svm_stucci.h
branches/cycles/intern/cycles/kernel/svm/svm_wood.h
branches/cycles/source/blender/nodes/shader/nodes/node_shader_blend_weight.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_blend.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_marble.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_noise.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_tex_wood.c
Modified: branches/cycles/intern/cycles/blender/blender_shader.cpp
===================================================================
--- branches/cycles/intern/cycles/blender/blender_shader.cpp 2011-11-06 18:40:13 UTC (rev 41598)
+++ branches/cycles/intern/cycles/blender/blender_shader.cpp 2011-11-06 21:05:58 UTC (rev 41599)
@@ -191,8 +191,8 @@
node = new FresnelNode();
break;
}
- case BL::ShaderNode::type_BLEND_WEIGHT: {
- node = new BlendWeightNode();
+ case BL::ShaderNode::type_LAYER_WEIGHT: {
+ node = new LayerWeightNode();
break;
}
case BL::ShaderNode::type_ADD_SHADER: {
@@ -316,26 +316,17 @@
node = env;
break;
}
- case BL::ShaderNode::type_TEX_NOISE: {
- BL::ShaderNodeTexNoise b_noise_node(b_node);
- NoiseTextureNode *noise = new NoiseTextureNode();
- get_tex_mapping(&noise->tex_mapping, b_noise_node.texture_mapping());
- node = noise;
+ case BL::ShaderNode::type_TEX_GRADIENT: {
+ BL::ShaderNodeTexGradient b_gradient_node(b_node);
+ GradientTextureNode *gradient = new GradientTextureNode();
+ gradient->type = GradientTextureNode::type_enum[(int)b_gradient_node.gradient_type()];
+ get_tex_mapping(&gradient->tex_mapping, b_gradient_node.texture_mapping());
+ node = gradient;
break;
}
- case BL::ShaderNode::type_TEX_BLEND: {
- BL::ShaderNodeTexBlend b_blend_node(b_node);
- BlendTextureNode *blend = new BlendTextureNode();
- blend->progression = BlendTextureNode::progression_enum[(int)b_blend_node.progression()];
- blend->axis = BlendTextureNode::axis_enum[(int)b_blend_node.axis()];
- get_tex_mapping(&blend->tex_mapping, b_blend_node.texture_mapping());
- node = blend;
- break;
- }
case BL::ShaderNode::type_TEX_VORONOI: {
BL::ShaderNodeTexVoronoi b_voronoi_node(b_node);
VoronoiTextureNode *voronoi = new VoronoiTextureNode();
- voronoi->distance_metric = VoronoiTextureNode::distance_metric_enum[(int)b_voronoi_node.distance_metric()];
voronoi->coloring = VoronoiTextureNode::coloring_enum[(int)b_voronoi_node.coloring()];
get_tex_mapping(&voronoi->tex_mapping, b_voronoi_node.texture_mapping());
node = voronoi;
@@ -349,67 +340,29 @@
node = magic;
break;
}
- case BL::ShaderNode::type_TEX_MARBLE: {
- BL::ShaderNodeTexMarble b_marble_node(b_node);
- MarbleTextureNode *marble = new MarbleTextureNode();
- marble->depth = b_marble_node.turbulence_depth();
- marble->basis = MarbleTextureNode::basis_enum[(int)b_marble_node.noise_basis()];
- marble->type = MarbleTextureNode::type_enum[(int)b_marble_node.marble_type()];
- marble->wave = MarbleTextureNode::wave_enum[(int)b_marble_node.wave_type()];
- marble->hard = b_marble_node.noise_type() == BL::ShaderNodeTexMarble::noise_type_HARD;
- get_tex_mapping(&marble->tex_mapping, b_marble_node.texture_mapping());
- node = marble;
+ case BL::ShaderNode::type_TEX_WAVE: {
+ BL::ShaderNodeTexWave b_wave_node(b_node);
+ WaveTextureNode *wave = new WaveTextureNode();
+ wave->type = WaveTextureNode::type_enum[(int)b_wave_node.wave_type()];
+ get_tex_mapping(&wave->tex_mapping, b_wave_node.texture_mapping());
+ node = wave;
break;
}
- case BL::ShaderNode::type_TEX_CLOUDS: {
- BL::ShaderNodeTexClouds b_clouds_node(b_node);
- CloudsTextureNode *clouds = new CloudsTextureNode();
- clouds->depth = b_clouds_node.turbulence_depth();
- clouds->basis = CloudsTextureNode::basis_enum[(int)b_clouds_node.noise_basis()];
- clouds->hard = b_clouds_node.noise_type() == BL::ShaderNodeTexClouds::noise_type_HARD;
- get_tex_mapping(&clouds->tex_mapping, b_clouds_node.texture_mapping());
- node = clouds;
+ case BL::ShaderNode::type_TEX_NOISE: {
+ BL::ShaderNodeTexNoise b_noise_node(b_node);
+ NoiseTextureNode *noise = new NoiseTextureNode();
+ get_tex_mapping(&noise->tex_mapping, b_noise_node.texture_mapping());
+ node = noise;
break;
}
- case BL::ShaderNode::type_TEX_WOOD: {
- BL::ShaderNodeTexWood b_wood_node(b_node);
- WoodTextureNode *wood = new WoodTextureNode();
- wood->type = WoodTextureNode::type_enum[(int)b_wood_node.wood_type()];
- wood->basis = WoodTextureNode::basis_enum[(int)b_wood_node.noise_basis()];
- wood->hard = b_wood_node.noise_type() == BL::ShaderNodeTexWood::noise_type_HARD;
- wood->wave = WoodTextureNode::wave_enum[(int)b_wood_node.wave_type()];
- get_tex_mapping(&wood->tex_mapping, b_wood_node.texture_mapping());
- node = wood;
- break;
- }
case BL::ShaderNode::type_TEX_MUSGRAVE: {
BL::ShaderNodeTexMusgrave b_musgrave_node(b_node);
MusgraveTextureNode *musgrave = new MusgraveTextureNode();
musgrave->type = MusgraveTextureNode::type_enum[(int)b_musgrave_node.musgrave_type()];
- musgrave->basis = MusgraveTextureNode::basis_enum[(int)b_musgrave_node.noise_basis()];
get_tex_mapping(&musgrave->tex_mapping, b_musgrave_node.texture_mapping());
node = musgrave;
break;
}
- case BL::ShaderNode::type_TEX_STUCCI: {
- BL::ShaderNodeTexStucci b_stucci_node(b_node);
- StucciTextureNode *stucci = new StucciTextureNode();
- stucci->type = StucciTextureNode::type_enum[(int)b_stucci_node.stucci_type()];
- stucci->basis = StucciTextureNode::basis_enum[(int)b_stucci_node.noise_basis()];
- stucci->hard = b_stucci_node.noise_type() == BL::ShaderNodeTexStucci::noise_type_HARD;
- get_tex_mapping(&stucci->tex_mapping, b_stucci_node.texture_mapping());
- node = stucci;
- break;
- }
- case BL::ShaderNode::type_TEX_DISTORTED_NOISE: {
- BL::ShaderNodeTexDistortedNoise b_distnoise_node(b_node);
- DistortedNoiseTextureNode *distnoise = new DistortedNoiseTextureNode();
- distnoise->basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_basis()];
- distnoise->distortion_basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_distortion()];
- get_tex_mapping(&distnoise->tex_mapping, b_distnoise_node.texture_mapping());
- node = distnoise;
- break;
- }
case BL::ShaderNode::type_TEX_COORD: {
node = new TextureCoordinateNode();;
break;
Modified: branches/cycles/intern/cycles/kernel/CMakeLists.txt
===================================================================
--- branches/cycles/intern/cycles/kernel/CMakeLists.txt 2011-11-06 18:40:13 UTC (rev 41598)
+++ branches/cycles/intern/cycles/kernel/CMakeLists.txt 2011-11-06 21:05:58 UTC (rev 41599)
@@ -42,33 +42,29 @@
svm/emissive.h
svm/svm.h
svm/svm_attribute.h
- svm/svm_blend.h
svm/svm_bsdf.h
svm/svm_closure.h
- svm/svm_clouds.h
svm/svm_convert.h
svm/svm_displace.h
- svm/svm_distorted_noise.h
svm/svm_fresnel.h
svm/svm_geometry.h
+ svm/svm_gradient.h
svm/svm_image.h
svm/svm_light_path.h
svm/svm_magic.h
svm/svm_mapping.h
- svm/svm_marble.h
svm/svm_math.h
svm/svm_mix.h
svm/svm_musgrave.h
svm/svm_noise.h
svm/svm_noisetex.h
svm/svm_sky.h
- svm/svm_stucci.h
svm/svm_tex_coord.h
svm/svm_texture.h
svm/svm_types.h
svm/svm_value.h
svm/svm_voronoi.h
- svm/svm_wood.h
+ svm/svm_wave.h
svm/volume.h
)
Modified: branches/cycles/intern/cycles/kernel/svm/svm.h
===================================================================
--- branches/cycles/intern/cycles/kernel/svm/svm.h 2011-11-06 18:40:13 UTC (rev 41598)
+++ branches/cycles/intern/cycles/kernel/svm/svm.h 2011-11-06 21:05:58 UTC (rev 41599)
@@ -120,29 +120,25 @@
#include "svm_texture.h"
#include "svm_attribute.h"
-#include "svm_blend.h"
+#include "svm_gradient.h"
#include "svm_closure.h"
-#include "svm_clouds.h"
+#include "svm_noisetex.h"
#include "svm_convert.h"
#include "svm_displace.h"
-#include "svm_distorted_noise.h"
#include "svm_fresnel.h"
#include "svm_geometry.h"
#include "svm_image.h"
#include "svm_light_path.h"
#include "svm_magic.h"
#include "svm_mapping.h"
-#include "svm_marble.h"
+#include "svm_wave.h"
#include "svm_math.h"
#include "svm_mix.h"
#include "svm_musgrave.h"
-#include "svm_noisetex.h"
#include "svm_sky.h"
-#include "svm_stucci.h"
#include "svm_tex_coord.h"
#include "svm_value.h"
#include "svm_voronoi.h"
-#include "svm_wood.h"
CCL_NAMESPACE_BEGIN
@@ -206,12 +202,6 @@
offset = node.y;
break;
#ifdef __TEXTURES__
- case NODE_TEX_NOISE_F:
- svm_node_tex_noise_f(sd, stack, node.y, node.z);
- break;
- case NODE_TEX_NOISE_V:
- svm_node_tex_noise_v(sd, stack, node.y, node.z);
- break;
case NODE_TEX_IMAGE:
svm_node_tex_image(kg, sd, stack, node);
break;
@@ -221,11 +211,11 @@
case NODE_TEX_SKY:
svm_node_tex_sky(kg, sd, stack, node.y, node.z);
break;
- case NODE_TEX_BLEND:
- svm_node_tex_blend(sd, stack, node);
+ case NODE_TEX_GRADIENT:
+ svm_node_tex_gradient(sd, stack, node);
break;
- case NODE_TEX_CLOUDS:
- svm_node_tex_clouds(sd, stack, node);
+ case NODE_TEX_NOISE:
+ svm_node_tex_noise(kg, sd, stack, node, &offset);
break;
case NODE_TEX_VORONOI:
svm_node_tex_voronoi(kg, sd, stack, node, &offset);
@@ -233,21 +223,12 @@
case NODE_TEX_MUSGRAVE:
svm_node_tex_musgrave(kg, sd, stack, node, &offset);
break;
- case NODE_TEX_MARBLE:
- svm_node_tex_marble(kg, sd, stack, node, &offset);
+ case NODE_TEX_WAVE:
+ svm_node_tex_wave(kg, sd, stack, node, &offset);
break;
case NODE_TEX_MAGIC:
- svm_node_tex_magic(sd, stack, node);
+ svm_node_tex_magic(kg, sd, stack, node, &offset);
break;
- case NODE_TEX_STUCCI:
- svm_node_tex_stucci(kg, sd, stack, node, &offset);
- break;
- case NODE_TEX_DISTORTED_NOISE:
- svm_node_tex_distorted_noise(kg, sd, stack, node, &offset);
- break;
- case NODE_TEX_WOOD:
- svm_node_tex_wood(kg, sd, stack, node, &offset);
- break;
#endif
case NODE_GEOMETRY:
svm_node_geometry(sd, stack, node.y, node.z);
@@ -285,8 +266,8 @@
case NODE_FRESNEL:
svm_node_fresnel(sd, stack, node.y, node.z, node.w);
break;
- case NODE_BLEND_WEIGHT:
- svm_node_blend_weight(sd, stack, node);
+ case NODE_LAYER_WEIGHT:
+ svm_node_layer_weight(sd, stack, node);
break;
case NODE_SET_DISPLACEMENT:
svm_node_set_displacement(sd, stack, node.y);
Deleted: branches/cycles/intern/cycles/kernel/svm/svm_blend.h
===================================================================
--- branches/cycles/intern/cycles/kernel/svm/svm_blend.h 2011-11-06 18:40:13 UTC (rev 41598)
+++ branches/cycles/intern/cycles/kernel/svm/svm_blend.h 2011-11-06 21:05:58 UTC (rev 41599)
@@ -1,79 +0,0 @@
-/*
- * Copyright 2011, Blender Foundation.
- *
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list