[Bf-blender-cvs] [a41bbd3] blender2.8: Merge remote-tracking branch 'origin/master' into blender2.8

Dalai Felinto noreply at git.blender.org
Wed Nov 2 10:59:58 CET 2016


Commit: a41bbd3053c8f07c24ccb07eaeff09cc078cc4d4
Author: Dalai Felinto
Date:   Wed Nov 2 10:48:06 2016 +0100
Branches: blender2.8
https://developer.blender.org/rBa41bbd3053c8f07c24ccb07eaeff09cc078cc4d4

Merge remote-tracking branch 'origin/master' into blender2.8

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



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

diff --cc source/blender/blenkernel/intern/smoke.c
index 0535612,e8970d4..1da2637
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@@ -355,6 -357,13 +355,10 @@@ static void smokeModifier_freeDomain(Sm
  			MEM_freeN(smd->domain->effector_weights);
  		smd->domain->effector_weights = NULL;
  
 -		BKE_ptcache_free_list(&(smd->domain->ptcaches[0]));
 -		smd->domain->point_cache[0] = NULL;
 -
+ 		if (smd->domain->coba) {
+ 			MEM_freeN(smd->domain->coba);
+ 		}
+ 
  		MEM_freeN(smd->domain);
  		smd->domain = NULL;
  	}
@@@ -631,8 -653,13 +638,12 @@@ void smokeModifier_copy(struct SmokeMod
  		tsmd->domain->draw_velocity = smd->domain->draw_velocity;
  		tsmd->domain->vector_draw_type = smd->domain->vector_draw_type;
  		tsmd->domain->vector_scale = smd->domain->vector_scale;
+ 
+ 		if (smd->domain->coba) {
+ 			tsmd->domain->coba = MEM_dupallocN(smd->domain->coba);
+ 		}
  	}
  	else if (tsmd->flow) {
 -		tsmd->flow->psys = smd->flow->psys;
  		tsmd->flow->noise_texture = smd->flow->noise_texture;
  
  		tsmd->flow->vel_multi = smd->flow->vel_multi;
diff --cc source/blender/blenloader/intern/writefile.c
index ed41ac0,d104fc8..03436f4
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@@ -1512,9 -1719,28 +1512,14 @@@ static void write_modifiers(WriteData *
  			SmokeModifierData *smd = (SmokeModifierData *)md;
  
  			if (smd->type & MOD_SMOKE_TYPE_DOMAIN) {
 -				if (smd->domain) {
 -					write_pointcaches(wd, &(smd->domain->ptcaches[0]));
 -
 -					/* create fake pointcache so that old blender versions can read it */
 -					smd->domain->point_cache[1] = BKE_ptcache_add(&smd->domain->ptcaches[1]);
 -					smd->domain->point_cache[1]->flag |= PTCACHE_DISK_CACHE | PTCACHE_FAKE_SMOKE;
 -					smd->domain->point_cache[1]->step = 1;
 +				writestruct(wd, DATA, SmokeDomainSettings, 1, smd->domain);
  
 -					write_pointcaches(wd, &(smd->domain->ptcaches[1]));
 +				if (smd->domain) {
+ 
+ 					if (smd->domain->coba) {
+ 						writestruct(wd, DATA, ColorBand, 1, smd->domain->coba);
+ 					}
 -				}
 -
 -				writestruct(wd, DATA, SmokeDomainSettings, 1, smd->domain);
 -
 -				if (smd->domain) {
 -					/* cleanup the fake pointcache */
 -					BKE_ptcache_free_list(&smd->domain->ptcaches[1]);
 -					smd->domain->point_cache[1] = NULL;
+ 
  					writestruct(wd, DATA, EffectorWeights, 1, smd->domain->effector_weights);
  				}
  			}
diff --cc source/blender/depsgraph/intern/depsgraph_tag.cc
index 75fb55a,4f27dab..b61b31a
--- a/source/blender/depsgraph/intern/depsgraph_tag.cc
+++ b/source/blender/depsgraph/intern/depsgraph_tag.cc
@@@ -209,8 -235,19 +209,11 @@@ void DEG_id_tag_update_ex(Main *bmain, 
  			if (flag & (OB_RECALC_OB | OB_RECALC_DATA)) {
  				DEG_graph_id_tag_update(bmain, graph, id);
  			}
+ 			else if (flag & OB_RECALC_TIME) {
+ 				DEG_graph_id_tag_update(bmain, graph, id);
+ 			}
  		}
  	}
 -
 -#ifdef DEPSGRAPH_USE_LEGACY_TAGGING
 -	/* Special handling from the legacy depsgraph.
 -	 * TODO(sergey): Need to get rid of those once all the areas
 -	 * are re-formulated in terms of franular nodes.
 -	 */
 -	depsgraph_legacy_handle_update_tag(bmain, id, flag);
 -#endif
  }
  
  /* Tag given ID type for update. */
diff --cc source/blender/editors/space_view3d/drawvolume.c
index 9cfcd6c,27ecbf8..584f442
--- a/source/blender/editors/space_view3d/drawvolume.c
+++ b/source/blender/editors/space_view3d/drawvolume.c
@@@ -42,6 -41,8 +42,7 @@@
  #include "BLI_math.h"
  
  #include "BKE_DerivedMesh.h"
+ #include "BKE_texture.h"
 -#include "BKE_particle.h"
  
  #include "smoke_API.h"
  
diff --cc source/blender/gpu/GPU_shader.h
index aead5ba,5b94db6..74dc91b
--- a/source/blender/gpu/GPU_shader.h
+++ b/source/blender/gpu/GPU_shader.h
@@@ -89,37 -89,7 +89,38 @@@ typedef enum GPUBuiltinShader 
  	GPU_SHADER_SEP_GAUSSIAN_BLUR = 1,
  	GPU_SHADER_SMOKE             = 2,
  	GPU_SHADER_SMOKE_FIRE        = 3,
+ 	GPU_SHADER_SMOKE_COBA        = 4,
 +
 +	/* specialized drawing */
 +	GPU_SHADER_TEXT,
 +	GPU_SHADER_EDGES_FRONT_BACK_PERSP,
 +	GPU_SHADER_EDGES_FRONT_BACK_ORTHO,
 +
 +	/* for simple 2D drawing */
 +	GPU_SHADER_2D_UNIFORM_COLOR,
 +	GPU_SHADER_2D_FLAT_COLOR,
 +	GPU_SHADER_2D_SMOOTH_COLOR,
 +	/* for simple 3D drawing */
 +	GPU_SHADER_3D_UNIFORM_COLOR,
 +	GPU_SHADER_3D_FLAT_COLOR,
 +	GPU_SHADER_3D_SMOOTH_COLOR,
 +	GPU_SHADER_3D_DEPTH_ONLY,
 +	/* basic image drawing */
 +	GPU_SHADER_3D_IMAGE_MODULATE_ALPHA,
 +	GPU_SHADER_3D_IMAGE_RECT_MODULATE_ALPHA,
 +	GPU_SHADER_3D_IMAGE_DEPTH,
 +	/* points */
 +	GPU_SHADER_2D_POINT_FIXED_SIZE_UNIFORM_COLOR,
 +	GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_SMOOTH,
 +	GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_OUTLINE_SMOOTH,
 +	GPU_SHADER_2D_POINT_UNIFORM_SIZE_VARYING_COLOR_OUTLINE_SMOOTH,
 +	GPU_SHADER_2D_POINT_VARYING_SIZE_VARYING_COLOR,
 +	GPU_SHADER_3D_POINT_FIXED_SIZE_UNIFORM_COLOR,
 +	GPU_SHADER_3D_POINT_FIXED_SIZE_VARYING_COLOR,
 +	GPU_SHADER_3D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_SMOOTH,
 +	GPU_SHADER_3D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_OUTLINE_SMOOTH,
 +	GPU_SHADER_3D_POINT_VARYING_SIZE_UNIFORM_COLOR,
 +	GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR,
  } GPUBuiltinShader;
  
  GPUShader *GPU_shader_get_builtin_shader(GPUBuiltinShader shader);
diff --cc source/blender/gpu/intern/gpu_shader.c
index 2e1c3b7,14f2764..699028d
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@@ -106,37 -68,9 +106,38 @@@ static struct GPUShadersGlobal 
  		GPUShader *sep_gaussian_blur;
  		GPUShader *smoke;
  		GPUShader *smoke_fire;
+ 		GPUShader *smoke_coba;
  		/* cache for shader fx. Those can exist in combinations so store them here */
  		GPUShader *fx_shaders[MAX_FX_SHADERS * 2];
 +		/* specialized drawing */
 +		GPUShader *text;
 +		GPUShader *edges_front_back_persp;
 +		GPUShader *edges_front_back_ortho;
 +		/* for drawing images */
 +		GPUShader *image_modulate_alpha_3D;
 +		GPUShader *image_rect_modulate_alpha_3D;
 +		GPUShader *image_depth_3D;
 +		/* for simple 2D drawing */
 +		GPUShader *uniform_color_2D;
 +		GPUShader *flat_color_2D;
 +		GPUShader *smooth_color_2D;
 +		/* for simple 3D drawing */
 +		GPUShader *uniform_color_3D;
 +		GPUShader *flat_color_3D;
 +		GPUShader *smooth_color_3D;
 +		GPUShader *depth_only_3D;
 +		/* points */
 +		GPUShader *point_fixed_size_uniform_color_2D;
 +		GPUShader *point_varying_size_varying_color_2D;
 +		GPUShader *point_uniform_size_uniform_color_smooth_2D;
 +		GPUShader *point_uniform_size_uniform_color_outline_smooth_2D;
 +		GPUShader *point_uniform_size_varying_color_outline_smooth_2D;
 +		GPUShader *point_fixed_size_uniform_color_3D;
 +		GPUShader *point_fixed_size_varying_color_3D;
 +		GPUShader *point_varying_size_uniform_color_3D;
 +		GPUShader *point_varying_size_varying_color_3D;
 +		GPUShader *point_uniform_size_uniform_color_smooth_3D;
 +		GPUShader *point_uniform_size_uniform_color_outline_smooth_3D;
  	} shaders;
  } GG = {{NULL}};
  
@@@ -653,198 -624,13 +654,205 @@@ GPUShader *GPU_shader_get_builtin_shade
  				        NULL, NULL, NULL, 0, 0, 0);
  			retval = GG.shaders.smoke_fire;
  			break;
+ 		case GPU_SHADER_SMOKE_COBA:
+ 			if (!GG.shaders.smoke_coba)
+ 				GG.shaders.smoke_coba = GPU_shader_create(
+ 				        datatoc_gpu_shader_smoke_vert_glsl, datatoc_gpu_shader_smoke_frag_glsl,
+ 				        NULL, NULL, "#define USE_COBA;\n", 0, 0, 0);
+ 			retval = GG.shaders.smoke_coba;
+ 			break;
 +		case GPU_SHADER_TEXT:
 +			if (!GG.shaders.text)
 +				GG.shaders.text = GPU_shader_create(
 +				        datatoc_gpu_shader_text_vert_glsl,
 +				        datatoc_gpu_shader_text_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.text;
 +			break;
 +		case GPU_SHADER_EDGES_FRONT_BACK_PERSP:
 +			if (!GG.shaders.edges_front_back_persp)
 +				GG.shaders.edges_front_back_persp = GPU_shader_create(
 +				        datatoc_gpu_shader_edges_front_back_persp_vert_glsl,
 +				        datatoc_gpu_shader_flat_color_alpha_test_0_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.edges_front_back_persp;
 +			break;
 +		case GPU_SHADER_EDGES_FRONT_BACK_ORTHO:
 +			if (!GG.shaders.edges_front_back_ortho)
 +				GG.shaders.edges_front_back_ortho = GPU_shader_create(
 +				        datatoc_gpu_shader_edges_front_back_ortho_vert_glsl,
 +				        datatoc_gpu_shader_flat_color_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.edges_front_back_ortho;
 +			break;
 +		case GPU_SHADER_3D_IMAGE_MODULATE_ALPHA:
 +			if (!GG.shaders.image_modulate_alpha_3D)
 +				GG.shaders.image_modulate_alpha_3D = GPU_shader_create(
 +				        datatoc_gpu_shader_3D_image_vert_glsl,
 +				        datatoc_gpu_shader_image_modulate_alpha_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.image_modulate_alpha_3D;
 +			break;
 +		case GPU_SHADER_3D_IMAGE_RECT_MODULATE_ALPHA:
 +			if (!GG.shaders.image_rect_modulate_alpha_3D)
 +				GG.shaders.image_rect_modulate_alpha_3D = GPU_shader_create(
 +				datatoc_gpu_shader_3D_image_vert_glsl,
 +				datatoc_gpu_shader_image_rect_modulate_alpha_frag_glsl,
 +				NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.image_rect_modulate_alpha_3D;
 +			break;
 +		case GPU_SHADER_3D_IMAGE_DEPTH:
 +			if (!GG.shaders.image_depth_3D)
 +				GG.shaders.image_depth_3D = GPU_shader_create(
 +				        datatoc_gpu_shader_3D_image_vert_glsl,
 +				        datatoc_gpu_shader_image_depth_linear_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.image_depth_3D;
 +			break;
 +		case GPU_SHADER_2D_UNIFORM_COLOR:
 +			if (!GG.shaders.uniform_color_2D)
 +				GG.shaders.uniform_color_2D = GPU_shader_create(
 +				        datatoc_gpu_shader_2D_vert_glsl,
 +				        datatoc_gpu_shader_uniform_color_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.uniform_color_2D;
 +			break;
 +		case GPU_SHADER_2D_FLAT_COLOR:
 +			if (!GG.shaders.flat_color_2D)
 +				GG.shaders.flat_color_2D = GPU_shader_create(
 +				        datatoc_gpu_shader_2D_flat_color_vert_glsl,
 +				        datatoc_gpu_shader_flat_color_frag_glsl,
 +				        NULL, NULL, NULL, 0, 0, 0);
 +			retval = GG.shaders.flat_color_2D;
 +			break;
 +	

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list