[Bf-blender-cvs] [faf563d27ca] blender-v2.82-release: Fix T71788 Invalid (pink) shader when using wireframe node

Clément Foucault noreply at git.blender.org
Thu Jan 16 15:56:57 CET 2020


Commit: faf563d27ca8aa5451be7f835f8f6798a00c1699
Author: Clément Foucault
Date:   Thu Jan 16 15:29:07 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rBfaf563d27ca8aa5451be7f835f8f6798a00c1699

Fix T71788 Invalid (pink) shader when using wireframe node

This was caused by the clip distance not being passed by the geometry
shader.

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

M	source/blender/gpu/intern/gpu_codegen.c

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

diff --git a/source/blender/gpu/intern/gpu_codegen.c b/source/blender/gpu/intern/gpu_codegen.c
index 1da7274b2cd..5a5c3ace552 100644
--- a/source/blender/gpu/intern/gpu_codegen.c
+++ b/source/blender/gpu/intern/gpu_codegen.c
@@ -1340,17 +1340,12 @@ static char *code_generate_geometry(ListBase *nodes, const char *geom_code, cons
                           "barycentricPosg[2]);\n");
       }
 
-      BLI_dynstr_append(ds, "\tgl_Position = gl_in[0].gl_Position;\n");
-      BLI_dynstr_append(ds, "\tpass_attr(0);\n");
-      BLI_dynstr_append(ds, "\tEmitVertex();\n");
-
-      BLI_dynstr_append(ds, "\tgl_Position = gl_in[1].gl_Position;\n");
-      BLI_dynstr_append(ds, "\tpass_attr(1);\n");
-      BLI_dynstr_append(ds, "\tEmitVertex();\n");
-
-      BLI_dynstr_append(ds, "\tgl_Position = gl_in[2].gl_Position;\n");
-      BLI_dynstr_append(ds, "\tpass_attr(2);\n");
-      BLI_dynstr_append(ds, "\tEmitVertex();\n");
+      for (int i = 0; i < 3; i++) {
+        BLI_dynstr_appendf(ds, "\tgl_Position = gl_in[%d].gl_Position;\n", i);
+        BLI_dynstr_appendf(ds, "\tgl_ClipDistance[0] = gl_in[%d].gl_ClipDistance[0];\n", i);
+        BLI_dynstr_appendf(ds, "\tpass_attr(%d);\n", i);
+        BLI_dynstr_append(ds, "\tEmitVertex();\n");
+      }
       BLI_dynstr_append(ds, "}\n");
     }
   }



More information about the Bf-blender-cvs mailing list