为什么OpenGLES伸展我的3D模型?
题
我在搅拌机创建了一个简单的3D模型,并导入到OpenGLES为iPhone SDK此。该模型进口,没有任何问题的大部分,但你可以从包括照片链接(的photobucket)看时,OpenGL被拉伸模式超越其预期的比例。该圆柱体是由卵形蹲下矩形体是由身材高大,等我一个新手关于OpenGL的,所以请赐教:为什么会的OpenGL(ES)是伸展我的3D模型,什么是一些故障排除步骤?
<强> PICS 强> (PLS在新窗口中打开链接自己)
乐高积木仿照搅拌机结果 乐高积木模拟了搅拌机结果 乐高积木渲染(拉伸)在OpenGLES 结果 乐高积木渲染(拉伸)在OpenGLES 结果 乐高积木渲染(拉伸)在OpenGLES 结果
解决方案
也许在搅拌机的对象都有其规模从1不同的一个,它不得出口(例如,如果你只导出网格,而不是搅拌器对象)。
在混合器可以清除秤使用Alt的S - >清除比例而在对象模式
其他提示
我知道这是旧的,但如果有人正在寻找这个问题有一个正确的引用将是有益的。
当您呈现在OpenGL东西,投影矩阵是在在模板渲染设置为单位矩阵:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
这意味着,将openGL的渲染到纵横比为1的画面:1。为了解决这个问题,你可以做到以下几点:
float m[16] = {1.33,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1};
glMatrixMode(GL_PROJECTION);
glLoadMatrixf(m);
此设置纵横比1.33:1或3:2,其对应于iPhone屏幕
不隶属于 StackOverflow