[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54810] branches/ge_harmony/source/blender /gpu/intern/gpu_codegen.c: Avoid merging custom material shaders with the built in shaders until the merging process is a little smoother (such as removing duplicate assignments to gl_FragColor).
Daniel Stokes
kupomail at gmail.com
Sun Feb 24 11:05:10 CET 2013
Revision: 54810
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54810
Author: kupoman
Date: 2013-02-24 10:05:09 +0000 (Sun, 24 Feb 2013)
Log Message:
-----------
Avoid merging custom material shaders with the built in shaders until the merging process is a little smoother (such as removing duplicate assignments to gl_FragColor).
Modified Paths:
--------------
branches/ge_harmony/source/blender/gpu/intern/gpu_codegen.c
Modified: branches/ge_harmony/source/blender/gpu/intern/gpu_codegen.c
===================================================================
--- branches/ge_harmony/source/blender/gpu/intern/gpu_codegen.c 2013-02-24 08:50:55 UTC (rev 54809)
+++ branches/ge_harmony/source/blender/gpu/intern/gpu_codegen.c 2013-02-24 10:05:09 UTC (rev 54810)
@@ -1419,12 +1419,21 @@
/* merge custom shaders */
for (link = custom_shaders->first; link; link = link->next) {
cs = (Shader*)link->data;
- if (cs->type == SHADER_TYPE_VERTEX)
+ if (!cs->source) continue;
+
+ if (cs->type == SHADER_TYPE_VERTEX) {
+ BKE_shader_free(sh_vert);
+ sh_vert = BKE_shader_empty();
BKE_shader_source_merge(sh_vert, cs);
- else if (cs->type == SHADER_TYPE_FRAGMENT)
+ }
+ else if (cs->type == SHADER_TYPE_FRAGMENT) {
+ BKE_shader_free(sh_frag);
+ sh_frag = BKE_shader_empty();
BKE_shader_source_merge(sh_frag, cs);
- else if (cs->type == SHADER_TYPE_GEOMETRY)
+ }
+ else if (cs->type == SHADER_TYPE_GEOMETRY) {
BKE_shader_source_merge(sh_geom, cs);
+ }
}
More information about the Bf-blender-cvs
mailing list