所以,我几乎完成了我的小程序。问题是游戏应该是这样的:
......但它有时看起来像这样:
这在Debug配置中永远不会发生,仅在Release中发生。我正在使用VS 2015。
我按照这样设置灯光:
GLfloat lightPos[] = { 0, 20, 0 };
glEnable(GL_NORMALIZE);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
球和比赛场分别位于(0,0,0)和(0,-1,0)。有谁知道造成这种情况的原因是什么?游戏中是否保留了上次运行中与设置混淆的内容?
现在整个项目都非常庞大,所以我没有包含所有代码,但如果需要,我可以提供更多信息。
答案 0 :(得分:0)
GL_POSITION
获得齐次坐标,因此它应该是:
GLfloat lightPos[] = { 0, 20, 0, 1 };
或
GLfloat lightPos[] = { 0, 20, 0, 0 };
取决于您是想要点光源还是定向光源。