Pregunta

He creado un simple modelo 3D en Blender, y se importa esto en OpenGLES para el iPhone SDK. El modelo importado sin problemas para la mayor parte, pero como se puede ver en las fotos incluidas enlaces (photobucket), OpenGL está estirando el modelo más allá de sus proporciones deseadas. Los cilindros circulares se hacen ovular, el cuerpo rectangular en cuclillas se hace alto, etc. Soy un novato en relación con OpenGL así que por favor me ilumine: ¿Por qué OpenGL (ES) sea estirando mi modelo 3D y cuáles son algunos pasos para solucionar problemas?

PICS (por favor, los enlaces se abren en una nueva ventana del mismo)

del ladrillo de Lego modelados en Blender
del ladrillo de Lego modelados en Blender
del ladrillo de Lego prestados (alargada) en OpenGLES
del ladrillo de Lego prestados (alargada) en OpenGLES
del ladrillo de Lego rindió (estirada) en OpenGLES

¿Fue útil?

Solución

Tal vez su objeto en la batidora tiene una de sus escalas diferentes de 1, no podrán ser exportados (por ejemplo, si sólo se exporta la malla, no el objeto batidora).

En la licuadora se puede limpiar con escalas Alt S -.> Borrar Escala mientras que en el modo de objetos

Otros consejos

Sé que esto es viejo, pero sería útil si alguien está buscando para este problema de tener una referencia correcta.

Al representar las cosas en OpenGL, la matriz de proyección se establece en la matriz de identidad a rendir en la plantilla:

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

Esto significa que OpenGL pagará a una pantalla de relación de aspecto 1: 1. Para solucionar este problema, puede hacer lo siguiente:

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);

Esto establece la relación de aspecto de 1.33: 1 o 3:. 2 que corresponde a la pantalla iPhone

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top