Canvas Three.js:Fresnel着色器-灯光:真实问题
我对three.js示例有一个小问题 “lights:true”-如果这是“true”,则我会得到以下错误:Canvas Three.js:Fresnel着色器-灯光:真实问题,canvas,three.js,webgl,fragment-shader,fresnel,Canvas,Three.js,Webgl,Fragment Shader,Fresnel,我对three.js示例有一个小问题 “lights:true”-如果这是“true”,则我会得到以下错误: Uncaught TypeError: Cannot set property 'value' of undefined 我不懂。谢谢您的建议。当您设置ShaderMaterial.lights=true时,渲染器将为您填充着色器灯光统一参数 但首先必须确保着色器具有必要的灯光 3.FresnelShader不使用书写的灯光;它依赖于环境地图。因此,设置lights:true将无效
Uncaught TypeError: Cannot set property 'value' of undefined
我不懂。谢谢您的建议。当您设置
ShaderMaterial.lights=true
时,渲染器将为您填充着色器灯光统一参数
但首先必须确保着色器具有必要的灯光
3.FresnelShader
不使用书写的灯光;它依赖于环境地图。因此,设置lights:true
将无效
但是如果您想这样做,并且愿意修改着色器,则必须替换
var shader = THREE.FresnelShader;
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
与
three.js r.59我能送你一杯啤酒吗?:)谢谢你的解释!我希望,但我的声誉显然不够高…所有这些时间玩GTA2…没用。告诉我一件事,你认为也可以向着色器材质添加漫反射颜色吗?我知道它使用环境贴图的颜色,但也许有一个混合方法来实现这一点?或者菲涅耳材料…如果你有进一步的问题,你需要做一个新的职位。这是为了其他人的利益。。。是的,什么都可以做。研究三个.js示例。这是一条陡峭的学习曲线。我建议你先用硬线画一个颜色。稍后,将颜色传递进来。我把它贴在这里了。我不明白有关将颜色传递到着色器的部分:/我不是着色器专业人员……谢谢您的帮助
var shader = THREE.FresnelShader;
var uniforms = THREE.UniformsUtils.merge( [
THREE.UniformsLib[ "lights" ],
shader.uniforms
] );