Procházet zdrojové kódy

Fix transform feedback issue

David Catuhe před 6 roky
rodič
revize
fa9f48a2f0
1 změnil soubory, kde provedl 12 přidání a 0 odebrání
  1. 12 0
      src/Engines/engine.ts

+ 12 - 0
src/Engines/engine.ts

@@ -1567,8 +1567,20 @@ export class Engine extends ThinEngine {
         context.attachShader(shaderProgram, vertexShader);
         context.attachShader(shaderProgram, fragmentShader);
 
+        if (this.webGLVersion > 1 && transformFeedbackVaryings) {
+            let transformFeedback = this.createTransformFeedback();
+
+            this.bindTransformFeedback(transformFeedback);
+            this.setTranformFeedbackVaryings(shaderProgram, transformFeedbackVaryings);
+            pipelineContext.transformFeedback = transformFeedback;
+        }
+
         context.linkProgram(shaderProgram);
 
+        if (this.webGLVersion > 1 && transformFeedbackVaryings) {
+            this.bindTransformFeedback(null);
+        }
+
         pipelineContext.context = context;
         pipelineContext.vertexShader = vertexShader;
         pipelineContext.fragmentShader = fragmentShader;