我正在尝试使用 WebGL 和 Javascript 实现 3D 场景。最后一个场景应该显示一个长方体,四面都是较小的长方体、金字塔和球体。较小的球体必须与大长方体一起旋转。我实现了 Phong Shading,效果很好。现在我想用显示场景的画布右侧的三个滑块更改shininess
、lightPos
和的值。lightIntensity
闪亮的滑块显然不起作用,我更加纠结于其他两个滑块,因为lightPos
它们lightIntensity
是vec3
常量。三个变量的代码如下所示:
const vec3 lightPos = vec3(1.0,-1.0,1.0);
float shininess = 16.0;
const vec3 lightIntensity = vec3(1.0, 1.0, 1.0);
目前,光泽度滑块如下所示:
<input id="shininess" type="range" min="1" max="50"></input>
var shininessElement = document.getElementById("shininess");
shininessElement.onchange = function(){
shininess = shininessElement.value;
window.requestAnimationFrame(animate);
我很确定我做错了什么,但一项研究没有产生任何结果,我不知道下一步该做什么,所以我非常感谢你的帮助。如果您需要完整的代码,请告诉我。