一个非常普遍的问题.....
如果我在0,0,0附近定义一个模型(比如说一个立方体),然后将该模型转换到另一个位置(比如说100,100,100),并将光线转换到它附近,那么一切都很好,模型也很正常。 / p>
但是,如果我首先在100,100,100左右定义模型,那么光照就完全错了。
我的问题是 - 必须在0,0,0左右定义模型吗?
非常感谢。
答案 0 :(得分:1)
不,一点也不。法线或光线位置可能存在问题。在调试灯光时,我建议您绘制它们(作为一个小方块或其他东西),以便更容易查看是否存在问题。
答案 1 :(得分:0)
抱歉 - 此文字太长,无法放入评论部分
这很奇怪!
我已定义了2个三角形(我已将opengl设置为顺时针工作)
三角形1顶点:-1,0,1 -1,0,-1,1,0,-1法线:-1,2,1 -1,2,-1,1,2,-1 < / p>
三角形2个顶点:-99,0,-101,-99,0,-99,-101,0,-99法线:-99,2,-101,-99,2,-99,-101 ,2,-99
我将灯光位置设置为100,10,-100。
我一次画一个三角形1翻译成100,0,-100和三角形2翻译成0,0,0。
三角形1完美地工作,但三角形2上只有环境光。
如果我将三角形2上的法线更改为-1,2,1 -1,2,-1,1,2,-1(这看起来很疯狂)就可以了! 所以现在三角形2看起来像这样.... 三角形2个顶点:-99,0,-101,-99,0,-99,-101,0,-99法线:-1,2,1 -1,2,-1,1,2,-1 < / p>