gpt4 book ai didi

canvas - Three.js:菲涅尔着色器 - 灯光:真正的问题

转载 作者:行者123 更新时间:2023-12-04 04:46:56 27 4
gpt4 key购买 nike

我对three.js 示例有一个小问题fresnel shader .

'lights : true' - 如果这是 'true' 那么我会收到以下错误:

Uncaught TypeError: Cannot set property 'value' of undefined 

我一窍不通。感谢您的任何建议。

最佳答案

当您设置 ShaderMaterial.lights = true ,渲染器将为您填充着色器灯光统一参数。

但是您必须首先确保您的着色器具有必要的灯光制服。
THREE.FresnelShader不按书面使用灯光;它依赖于环境贴图。因此,设置 lights: true不会有任何影响。

但是如果你想做,并且愿意修改着色器,你必须替换

var shader = THREE.FresnelShader;
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );


var shader = THREE.FresnelShader;

var uniforms = THREE.UniformsUtils.merge( [

THREE.UniformsLib[ "lights" ],
shader.uniforms

] );

三.js r.59

关于canvas - Three.js:菲涅尔着色器 - 灯光:真正的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044848/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com