diff --git a/javascript/MaterialXView/source/helper.js b/javascript/MaterialXView/source/helper.js index c6fe247dcd..3f3be46c79 100644 --- a/javascript/MaterialXView/source/helper.js +++ b/javascript/MaterialXView/source/helper.js @@ -87,7 +87,7 @@ function fromMatrix(matrix, dimension) * @param {mx.Uniforms} uniforms * @param {THREE.textureLoader} textureLoader */ -function toThreeUniform(viewer, type, value, name, uniforms, textureLoader, searchPath, flipY) +function toThreeUniform(type, value, name, uniforms, textureLoader, searchPath, flipY) { let outValue = null; switch (type) @@ -156,8 +156,6 @@ function toThreeUniform(viewer, type, value, name, uniforms, textureLoader, sear // Add texture to ThreeJS cache if (checkCache) THREE.Cache.add(texturePath, texture); - - viewer.scheduleUpdate(); }, undefined, function (error) { @@ -330,7 +328,7 @@ export function registerLights(mx, lights, genContext) * @param {mx.shaderStage} shaderStage * @param {THREE.TextureLoader} textureLoader */ -export function getUniformValues(viewer, shaderStage, textureLoader, searchPath, flipY) +export function getUniformValues(shaderStage, textureLoader, searchPath, flipY) { let threeUniforms = {}; @@ -344,8 +342,7 @@ export function getUniformValues(viewer, shaderStage, textureLoader, searchPath, const variable = uniforms.get(i); const value = variable.getValue()?.getData(); const name = variable.getVariable(); - //console.log('fill uniform, name:', name, ', value:', value); - threeUniforms[name] = new THREE.Uniform(toThreeUniform(viewer, variable.getType().getName(), value, name, uniforms, + threeUniforms[name] = new THREE.Uniform(toThreeUniform(variable.getType().getName(), value, name, uniforms, textureLoader, searchPath, flipY)); } } diff --git a/javascript/MaterialXView/source/index.js b/javascript/MaterialXView/source/index.js index 6a0f61321e..c4ea5ca538 100644 --- a/javascript/MaterialXView/source/index.js +++ b/javascript/MaterialXView/source/index.js @@ -82,7 +82,6 @@ function init() orbitControls.addEventListener('change', () => { viewer.getScene().setUpdateTransforms(); - viewer.scheduleUpdate(); }) // Add hotkey 'f' to capture the current frame and save an image file. @@ -92,7 +91,6 @@ function init() if (event.key === 'f') { captureRequested = true; - viewer.scheduleUpdate(); } }); @@ -131,7 +129,6 @@ function init() }).then(() => { - viewer.scheduleUpdate(); animate(); }).catch(err => { @@ -149,7 +146,6 @@ function init() viewer.getMaterial().loadMaterials(viewer, materialFilename); viewer.getEditor().updateProperties(0.9); viewer.getScene().setUpdateTransforms(); - viewer.scheduleUpdate(); }); setSceneLoadingCallback(file => @@ -158,7 +154,6 @@ function init() console.log('Drop geometry to:', glbFileName); scene.setGeometryURL(glbFileName); scene.loadGeometry(viewer, orbitControls); - viewer.scheduleUpdate(); }); // enable three.js Cache so that dropped files can reference each other @@ -170,12 +165,10 @@ function onWindowResize() viewer.getScene().updateCamera(); viewer.getScene().setUpdateTransforms(); renderer.setSize(window.innerWidth, window.innerHeight); - console.log('resize refresh....'); - viewer.scheduleUpdate(); } function animate() -{ +{ requestAnimationFrame(animate); if (turntableEnabled) @@ -186,19 +179,8 @@ function animate() viewer.getScene().setUpdateTransforms(); } - // Only re-render when an update request was made - if (viewer.needUpdate() || turntableEnabled) - { - renderer.render(viewer.getScene().getScene(), viewer.getScene().getCamera()); - - if (viewer.getScene().getUpdateTransforms()) - { - viewer.getScene().updateTransforms(); - viewer.getScene().setUpdateTransforms(false); - } - - viewer.finishUpdate(); - } + renderer.render(viewer.getScene().getScene(), viewer.getScene().getCamera()); + viewer.getScene().updateTransforms(); if (captureRequested) { @@ -215,11 +197,9 @@ function handleKeyEvents(event) if (event.keyCode == V_KEY) { viewer.getScene().toggleBackgroundTexture(); - viewer.scheduleUpdate(); } else if (event.keyCode == P_KEY) { turntableEnabled = !turntableEnabled; - viewer.scheduleUpdate(); } } diff --git a/javascript/MaterialXView/source/viewer.js b/javascript/MaterialXView/source/viewer.js index eb2b55cc56..febe34c809 100644 --- a/javascript/MaterialXView/source/viewer.js +++ b/javascript/MaterialXView/source/viewer.js @@ -857,14 +857,12 @@ export class Material assigned += viewer.getScene().updateMaterial(matassign); matassign.setGeometry(temp); assignedSolo = true; - viewer.scheduleUpdate(); break } } else { assigned += viewer.getScene().updateMaterial(matassign); - viewer.scheduleUpdate(); } } } @@ -873,7 +871,6 @@ export class Material this._defaultMaterial = new MaterialAssign(this._materials[0].getMaterial(), ALL_GEOMETRY_SPECIFIER); this._defaultMaterial.setShader(this._materials[0].getShader()); viewer.getScene().updateMaterial(this._defaultMaterial); - viewer.scheduleUpdate(); } if (assigned > 0) @@ -929,8 +926,8 @@ export class Material let theScene = viewer.getScene(); let flipV = theScene.getFlipGeometryV(); let uniforms = { - ...getUniformValues(viewer, shader.getStage('vertex'), textureLoader, searchPath, flipV), - ...getUniformValues(viewer, shader.getStage('pixel'), textureLoader, searchPath, flipV), + ...getUniformValues(shader.getStage('vertex'), textureLoader, searchPath, flipV), + ...getUniformValues(shader.getStage('pixel'), textureLoader, searchPath, flipV), } Object.assign(uniforms, { @@ -966,7 +963,6 @@ export class Material if (logDetailedTime) console.log("- Per material generate time: ", performance.now() - startGenerateMat, "ms"); - viewer.scheduleUpdate(); return newMaterial; } @@ -1023,7 +1019,6 @@ export class Material } viewer.getMaterial().updateMaterialAssignments(viewer, this._soloMaterial); viewer.getScene().setUpdateTransforms(); - viewer.scheduleUpdate(); } // @@ -1246,10 +1241,6 @@ export class Material } const w = currentFolder.add(material.uniforms[name], 'value', minValue, maxValue, step).name(path); w.domElement.classList.add('peditoritem'); - w.onChange(function (value) - { - viewer.scheduleUpdate(); - }); } break; @@ -1313,10 +1304,6 @@ export class Material { let w = currentFolder.add(material.uniforms[name], 'value', minValue, maxValue, step).name(path); w.domElement.classList.add('peditoritem'); - w.onChange(function (value) - { - viewer.scheduleUpdate(); - }); } else { @@ -1342,7 +1329,6 @@ export class Material { material.uniforms[name].value = value; } - viewer.scheduleUpdate(); } const defaultOption = enumList[value]; // Set the default selected option const dropdownController = currentFolder.add(enumeration, defaultOption, enumeration).name(path); @@ -1358,11 +1344,6 @@ export class Material { let w = currentFolder.add(material.uniforms[name], 'value').name(path); w.domElement.classList.add('peditoritem'); - w.onChange(function (value) - { - viewer.scheduleUpdate(); - }); - } break; @@ -1406,10 +1387,6 @@ export class Material let w = vecFolder.add(material.uniforms[name].value, key, minValue[key], maxValue[key], step[key]).name(keyString[key]); w.domElement.classList.add('peditoritem'); - w.onChange(function (value) - { - viewer.scheduleUpdate(); - }); }) } break; @@ -1431,7 +1408,6 @@ export class Material { const color3 = new THREE.Color(value); material.uniforms[name].value.set(color3.toArray()); - viewer.scheduleUpdate(); }); w.domElement.classList.add('peditoritem'); } @@ -1455,11 +1431,7 @@ export class Material let item = currentFolder.add(dummy, 'thevalue'); item.name(path); item.disable(true); - let w = item.domElement.classList.add('peditoritem'); - w.onChange(function (value) - { - viewer.scheduleUpdate(); - }); + item.domElement.classList.add('peditoritem'); } break; default: @@ -1503,30 +1475,6 @@ export class Viewer this.fileLoader = new THREE.FileLoader(); this.hdrLoader = new RGBELoader(); - - this.updates = 0 - } - - scheduleUpdate() - { - this.updates++; - //console.log('Schedule update: ', this.updates) - } - - finishUpdate() - { - if (this.updates > 0) - { - this.updates--; - //console.log('Finish update: ', this.updates) - } - } - - needUpdate() - { - //if (this.updates > 0) - // console.log('Need update: ', this.updates > 0) - return this.updates > 0; } // diff --git a/resources/Geometry/sphere.glb b/resources/Geometry/sphere.glb deleted file mode 100644 index 0ebb49aea9..0000000000 Binary files a/resources/Geometry/sphere.glb and /dev/null differ