我正用Cg做SHADOW MAPPING,各个MATRIX计算设置都应该是正确的,因为如果我传入一张普通纹理,它就是PROJECT MAPPING效果,当我把SHADOW MAPPING传入时,确实有SHADOW的效果,但是SHADOW的颜色非常淡,但那本CG TUTARIAL上不是说硬件会自动识别SHADOW纹理并采样返回RGBA(0,0,0,1)或(1,1,1,1),那颜色应该是黑白分明的啊,我的SHADOW为什么会是
很淡的灰色呢?是不是我在第一次PASS时做SHADOW MAP时出问题了?
这是第一PASS生成SHADOW MAP部分:
...
glColorMask(0,0,0,0);
RENDER_SCENE...
glReadPixels(0,0,512,512,GL_DEPTH_COMPONENT,GL_FLOAT,ShadowMap);
glTexImage2D(GL_TEXTURE_2D,0,GL_LUMINANCE,512,512,0,GL_LUMINANCE,
GL_FLOAT,ShadowMap);
纹理过滤设置如下:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
大家看看是什么原因? [em24] [em24] [em24] |