texspec.vs
来自「OpeNGL超级宝典源代码. OpeNGL超级宝典源代码.」· VS 代码 · 共 28 行
VS
28 行
// texspec.vs
//
// Generic vertex transformation,
// compute diffuse lighting,
// put N.H into a texcoord
// for use by 1D pow tex lookup
uniform vec3 lightPos0;
void main(void)
{
// normal MVP transform
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
vec3 N = normalize(gl_NormalMatrix * gl_Normal);
vec4 V = gl_ModelViewMatrix * gl_Vertex;
vec3 L = normalize(lightPos0 - V.xyz);
vec3 H = normalize(L + vec3(0.0, 0.0, 1.0));
// put diffuse lighting result in primary color
float NdotL = dot(N, L);
gl_FrontColor = gl_Color * vec4(max(0.0, NdotL));
// copy (N.H)*8-7 into texcoord
float NdotH = max(0.0, dot(N, H) * 8.0 - 7.0);
gl_TexCoord[0] = vec4(NdotH, 0.0, 0.0, 1.0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?