Browse Source

re-add render-item currentProgramId

Alexander Rose 6 years ago
parent
commit
2f2209365d
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/mol-gl/webgl/render-item.ts

+ 3 - 1
src/mol-gl/webgl/render-item.ts

@@ -154,6 +154,7 @@ export function createRenderItem<T extends RenderVariantDefines, S extends keyof
     const valueChanges = createValueChanges()
 
     let destroyed = false
+    let currentProgramId = -1
 
     return {
         id,
@@ -164,13 +165,14 @@ export function createRenderItem<T extends RenderVariantDefines, S extends keyof
             if (drawCount === 0 || instanceCount === 0) return
             const program = programs[variant].value
             const vertexArray = vertexArrays[variant]
-            if (program.id !== state.currentProgramId ||
+            if (program.id !== state.currentProgramId || program.id !== currentProgramId ||
                 materialId === -1 || materialId !== state.currentMaterialId
             ) {
                 // console.log('program.id changed or materialId changed/-1', materialId)
                 if (program.id !== state.currentProgramId) program.use()
                 program.setUniforms(materialUniformValueEntries)
                 state.currentMaterialId = materialId
+                currentProgramId = program.id
             }
             program.setUniforms(uniformValueEntries)
             program.bindTextures(textures)