[Bf-blender-cvs] [343c4fb] gooseberry: Merge branch 'master' into gooseberry

Lukas Tönne noreply at git.blender.org
Thu Jun 4 12:10:16 CEST 2015


Commit: 343c4fb54a514b55a9d0e01fc1275fa66bf1fbca
Author: Lukas Tönne
Date:   Thu Jun 4 12:05:11 2015 +0200
Branches: gooseberry
https://developer.blender.org/rB343c4fb54a514b55a9d0e01fc1275fa66bf1fbca

Merge branch 'master' into gooseberry

Conflicts:
	intern/cycles/kernel/svm/svm.h

===================================================================



===================================================================

diff --cc intern/cycles/kernel/svm/svm.h
index db83d2e,15ac651..e9b36dd
--- a/intern/cycles/kernel/svm/svm.h
+++ b/intern/cycles/kernel/svm/svm.h
@@@ -282,48 -390,31 +391,34 @@@ ccl_device_noinline void svm_eval_nodes
  			case NODE_TEX_BRICK:
  				svm_node_tex_brick(kg, sd, stack, node, &offset);
  				break;
- #endif  /* __TEXTURES__ */
- 			case NODE_CAMERA:
- 				svm_node_camera(kg, sd, stack, node.y, node.z, node.w);
- 				break;
- 			case NODE_GEOMETRY:
- 				svm_node_geometry(kg, sd, stack, node.y, node.z);
- 				break;
- #ifdef __EXTRA_NODES__
- 			case NODE_GEOMETRY_BUMP_DX:
- 				svm_node_geometry_bump_dx(kg, sd, stack, node.y, node.z);
- 				break;
- 			case NODE_GEOMETRY_BUMP_DY:
- 				svm_node_geometry_bump_dy(kg, sd, stack, node.y, node.z);
- 				break;
- 			case NODE_LIGHT_PATH:
- 				svm_node_light_path(sd, stack, node.y, node.z, path_flag);
- 				break;
- 			case NODE_OBJECT_INFO:
- 				svm_node_object_info(kg, sd, stack, node.y, node.z);
++			case NODE_TEX_VOXEL:
++				svm_node_tex_voxel(kg, sd, stack, node, &offset);
 +				break;
- 			case NODE_PARTICLE_INFO:
- 				svm_node_particle_info(kg, sd, stack, node.y, node.z);
+ #  endif  /* __TEXTURES__ */
+ #  ifdef __EXTRA_NODES__
+ 			case NODE_NORMAL:
+ 				svm_node_normal(kg, sd, stack, node.y, node.z, node.w, &offset);
  				break;
- #ifdef __HAIR__
- #  if NODES_FEATURE(NODE_FEATURE_HAIR)
- 			case NODE_HAIR_INFO:
- 				svm_node_hair_info(kg, sd, stack, node.y, node.z);
+ 			case NODE_LIGHT_FALLOFF:
+ 				svm_node_light_falloff(sd, stack, node);
  				break;
- #  endif  /* NODES_FEATURE(NODE_FEATURE_HAIR) */
- #endif  /* __HAIR__ */
+ #  endif  /* __EXTRA_NODES__ */
+ #endif  /* NODES_GROUP(NODE_GROUP_LEVEL_2) */
  
- #endif  /* __EXTRA_NODES__ */
- 			case NODE_CONVERT:
- 				svm_node_convert(sd, stack, node.y, node.z, node.w);
+ #if NODES_GROUP(NODE_GROUP_LEVEL_3)
+ 			case NODE_RGB_CURVES:
+ 				svm_node_rgb_curves(kg, sd, stack, node, &offset);
  				break;
- 			case NODE_VALUE_F:
- 				svm_node_value_f(kg, sd, stack, node.y, node.z);
+ 			case NODE_VECTOR_CURVES:
+ 				svm_node_vector_curves(kg, sd, stack, node, &offset);
  				break;
- 			case NODE_VALUE_V:
- 				svm_node_value_v(kg, sd, stack, node.y, &offset);
+ 			case NODE_TANGENT:
+ 				svm_node_tangent(kg, sd, stack, node);
+ 				break;
+ 			case NODE_NORMAL_MAP:
+ 				svm_node_normal_map(kg, sd, stack, node);
  				break;
- #ifdef __EXTRA_NODES__
+ #  ifdef __EXTRA_NODES__
  			case NODE_INVERT:
  				svm_node_invert(sd, stack, node.y, node.z, node.w);
  				break;
diff --cc intern/cycles/render/mesh.cpp
index 884186c,45685fe..4f99bfc
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@@ -1317,16 -1320,17 +1324,26 @@@ void MeshManager::device_update(Device 
  
  	device_update_bvh(device, dscene, scene, progress);
  
 +	if(free_data_after_update) {
 +		foreach(Object *object, scene->objects) {
 +			if(object->mesh->bvh != NULL) {
 +				delete object->mesh->bvh;
 +				object->mesh->bvh = NULL;
 +			}
 +		}
 +	}
 +
  	need_update = false;
+ 
+ 	if(need_displacement_images) {
+ 		/* Re-tag flags for update, so they're re-evaluated
+ 		 * for meshes with correct bounding boxes.
+ 		 *
+ 		 * This wouldn't cause wrong results, just true
+ 		 * displacement might be less optimal ot calculate.
+ 		 */
+ 		scene->object_manager->need_flags_update = old_need_object_flags_update;
+ 	}
  }
  
  void MeshManager::device_free(Device *device, DeviceScene *dscene)
diff --cc intern/cycles/render/nodes.h
index 56d2171,4e78d58..4961cd4
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@@ -194,31 -209,10 +209,33 @@@ public
  	
  	float offset, squash;
  	int offset_frequency, squash_frequency;
+ 
+ 	virtual int get_group() { return NODE_GROUP_LEVEL_2; }
  };
  
 +class PointDensityTextureNode : public ShaderNode {
 +public:
 +	SHADER_NODE_NO_CLONE_CLASS(PointDensityTextureNode)
 +
 +	~PointDensityTextureNode();
 +	ShaderNode *clone() const;
 +	void attributes(Shader *shader, AttributeRequestSet *attributes);
 +
 +	bool has_spatial_varying() { return true; }
 +	bool has_object_dependency() { return true; }
 +
 +	ImageManager *image_manager;
 +	int slot;
 +	string filename;
 +	ustring space;
 +	void *builtin_data;
 +	InterpolationType interpolation;
 +
 +	Transform tfm;
 +
 +	static ShaderEnum space_enum;
 +};
 +
  class MappingNode : public ShaderNode {
  public:
  	SHADER_NODE_CLASS(MappingNode)




More information about the Bf-blender-cvs mailing list