我要做shadow map,将深度值存在纹理里面,结果读出来全是1怎么办?

u011117673 2015-10-13 09:17:15
我要做shadow map,将深度值存在纹理里面,结果读出来全是1怎么办?

纹理的内部格式定义为glTexImage2D ( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 512, 512, 0,GL_DEPTH_COMPONENT , GL_UNSIGNED_INT, NULL ); 结果读出来全是1

"precision mediump float; \n"
"uniform sampler2D s_shadowMap; \n"
"varying vec4 v_color; \n"
"varying vec4 v_shadowCoord; \n"

"float lookup (float x,float y) \n"
"{ \n"
" float distanceFromLight = texture2D( s_shadowMap, v_shadowCoord.xy).z; \n"
" return float(distanceFromLight > v_shadowCoord.z); \n"
"} \n"
"void main() \n"
"{ \n"
" // 3x3 kernel \n"
" float sum = 0.0; \n"
" float x, y; \n"
" for ( x = -0.5; x <= 0.5; x += 0.5 ) \n"
" for ( y = -0.5; y <= 0.5; y += 0.5 ) \n"
" sum += lookup ( x, y ); \n"
" sum = sum * 0.11; \n"
" gl_FragColor = v_color * sum ; \n"

"}
...全文
1089 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

604

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧