[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