我一直在使用我一直在努力的3D引擎遇到问题。转换矩阵应用的翻译是不正确的,坦率地说,我不知道为什么。
我正在使用的转换矩阵:
{ 1f, 0, 0, 0,
0, 1f, 0, 1f,
0, 0, 1f, 0,
0, 0, 0, 1f }
此变换矩阵应用于由两个三角形组成的普通立方体,然后扭曲立方体的边缘而不是应用平移。
原始矩形:
扭曲的矩形:
P.S。 z轴(near / far)上的任何平移都能正常工作,只有x-(左/右)和y轴(上/下)扭曲立方体。
答案 0 :(得分:2)
我是OpenGL的新手,但据我所知,OpenGL中的矩阵使用列主矩阵排序表示:这意味着你应该使用转置变换矩阵:
{ 1f, 0, 0, 0,
0, 1f, 0, 0,
0, 0, 1f, 0,
0, 1f, 0, 1f }