翻译后模型不轻松

时间:2014-03-03 13:09:59

标签: matrix opengl-es

一个非常普遍的问题.....

如果我在0,0,0附近定义一个模型(比如说一个立方体),然后将该模型转换到另一个位置(比如说100,100,100),并将光线转换到它附近,那么一切都很好,模型也很正常。 / p>

但是,如果我首先在100,100,100左右定义模型,那么光照就完全错了。

我的问题是 - 必须在0,0,0左右定义模型吗?

非常感谢。

2 个答案:

答案 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>