【发布时间】:2012-01-18 21:50:55
【问题描述】:
我是 OpenGL ES 2.0 领域的新人。我正在尝试在 iOS 平台上使用 OpenGL ES 2.0 实现镜面映射。据我所知,在镜面映射中,我们从镜面贴图纹理中提取光的镜面反射分量的值。我在顶点着色器中所做的如下:
vec3 N = NormalMatrix * Normal;
vec3 L = normalize(LightPosition);
vec3 E = normalize(EyePosition);
vec3 H = normalize(L + E);
vec4 Specular=(texture2D(sampler_spec, TextureCoordIn)).rgba;
float df = max(0.0, dot(N, L));
float sf = max(0.0, dot(N, H));
sf = pow(sf, Specular.a);
vec3 color = AmbientMaterial + df * DiffuseMaterial + sf * Specular.rgb * SpecularMaterial;
DestinationColor = vec4(color, 1); `
但我在游戏中看不到任何镜面反射效果。我不知道我哪里出错了。请提出您宝贵的建议。
【问题讨论】:
标签: opengl-es-2.0