Webgl 操纵gl_光源[gl_MaxLights]
OpenGL®着色语言规范版本1.20显示以下内容:Webgl 操纵gl_光源[gl_MaxLights],webgl,Webgl,OpenGL®着色语言规范版本1.20显示以下内容: struct gl_LightSourceParameters { vec4 ambient; // Acli vec4 diffuse; // Dcli vec4 specular; // Scli vec4 position; // Ppli vec4 halfVector; // Derived: Hi vec3 s
struct gl_LightSourceParameters {
vec4 ambient; // Acli
vec4 diffuse; // Dcli
vec4 specular; // Scli
vec4 position; // Ppli
vec4 halfVector; // Derived: Hi
vec3 spotDirection; // Sdli
float spotExponent; // Srli
float spotCutoff; // Crli
// (range: [0.0,90.0], 180.0)
float spotCosCutoff; // Derived: cos(Crli)
// (range: [1.0,0.0],-1.0)
float constantAttenuation; // K0
float linearAttenuation; // K1
float quadraticAttenuation;// K2
};
uniform gl_LightSourceParameters gl_LightSource[gl_MaxLights];
此外,还显示了以下代码段:
lightDir = normalize(vec3(gl_LightSource[0].position));
显示了许多uniform*函数,但似乎没有任何函数像gl_LightSource[0]那样处理统一变量数组
如何使用JavaScript设置WebGL中的gl_LightSource[0]字段?例如,gl_光源[0]。位置
提前感谢你的帮助
注意:WebGL上的Cross post基于OpenGL ES 2.0,即专为手机等受限硬件设计的OpenGL版本,不支持开箱即用的照明;你必须自己编写代码。我已经写了(大部分是松散地基于NeHe OpenGL的)解释如何做到这一点;考虑到你的问题,它们可能对你来说有点基本,但第7课和第12课可能会给你一些有用的提示