作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果你看这张图片:
您可以看到左右墙壁以及椅子的表面比其他墙壁更亮。我想知道,这是正常情况下的问题吗?或者可能只是照亮这些表面的光的位置?
在我的主要方法中,我只是这样做:
//enable lighting
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
//setup lighting
float lightColor [] = {1.0f, 0.8f, 0.8f,1.0f};
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, lightColor);
GLfloat lightpos[] = {2,2,4,4};
glLightfv(GL_LIGHT0,GL_POSITION, lightpos);
如果您需要查看法线,我可以上传它,但我不确定它们是否有问题。
最佳答案
看来你的法线没有按应有的方式计算。请注意不同物体的相同方向侧面的照明方式不同。
我猜:
glEnable(GL_NORMALIZE)
?)在不查看实际代码的情况下,很难提出更多可能的原因。
关于c - OpenGL 光照具有明亮的表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22927056/
我是一名优秀的程序员,十分优秀!