OpenGL中,加了纹理贴图后,光源的效果没了,没有反射。

yangyi_33855 2012-05-28 06:25:46
最近在进行Opengl学习的时候,我遇到这样一个问题,以前还能正常进行光反射的球,在我添加了纹理的后,没有光照效果了,甚至我将程序中的光照程序部分注释掉,还是能看到贴图后的球,似乎是光照已经完全没作用了。
然后,我在SwapBuffers();前加上glDeleteTextures();后,又能看到光源的效果了,但是贴的图没了。
求高手指导下,这是什么地方出了问题啊?
...全文
784 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pause_break 2012-05-29
  • 打赏
  • 举报
回复 6
glTexEnvf(GL_TEXTURE_2D,GL_TEXTURE_EVN_MODE,GL_REPLACE);
看看你设置纹理的这个函数的最后一个参数是什么,如果要把纹理和光照混合,最后一个参数应该是GL_BLEND或者GL_MODULATE等,表示将光照结果与纹理颜色进行叠加,而不能仅使用纹理颜色来替换原有的像素颜色,这样就只能看见纹理,显示不了光照结果了。
rodgeliao 2012-05-29
  • 打赏
  • 举报
回复
开启光照时先关闭纹理试试
anmychen2001 2012-05-28
  • 打赏
  • 举报
回复
现在还学Opengl的不多了,都转投d3d去了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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