[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