Преглед изворни кода

Fix transform feedback issue

David Catuhe пре 6 година
родитељ
комит
fa9f48a2f0
1 измењених фајлова са 12 додато и 0 уклоњено
  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, vertexShader);
         context.attachShader(shaderProgram, fragmentShader);
         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);
         context.linkProgram(shaderProgram);
 
 
+        if (this.webGLVersion > 1 && transformFeedbackVaryings) {
+            this.bindTransformFeedback(null);
+        }
+
         pipelineContext.context = context;
         pipelineContext.context = context;
         pipelineContext.vertexShader = vertexShader;
         pipelineContext.vertexShader = vertexShader;
         pipelineContext.fragmentShader = fragmentShader;
         pipelineContext.fragmentShader = fragmentShader;