【发布时间】:2018-02-06 14:40:53
【问题描述】:
我正在尝试应用来自shaderLib 的着色器,但它们中的大多数要么将节点变为完全白色或黑色。只有normal 着色器似乎工作。
这就是我的应用方式:
const shader = THREE.ShaderLib.depth;
const uniforms = shader.uniforms;
const material = new THREE.ShaderMaterial({
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms
})
this._viewer.impl.matman().addMaterial(
data.name, material, true)
并将片段的材质设置为:
function setMaterial(fragIds, material) {
const fragList = this._viewer.model.getFragmentList()
this.toArray(fragIds).forEach((fragId) => {
fragList.setMaterial(fragId, material)
})
this._viewer.impl.invalidate(true)
}
就像在这个例子中一样:https://forge.autodesk.com/blog/forge-viewer-custom-shaders-part-1
我也尝试像该示例那样为制服添加颜色,但没有帮助。
任何想法为什么它们不起作用?
【问题讨论】:
标签: three.js autodesk-forge autodesk autodesk-viewer