Bug en la carga de modelos del Revolution Engine.

Tras la salida del revolution engine he estado trabajando en nuevos aspectos del motor como una mejora del sistema de 2D o un sistema fisico, dejando de lado un tema que creia asentado (me equivocaba), la carga de modelos. Me avisaron de que habia un bug en este apartado pero como nadie llego a darme mas informacion supuse que habria sido una equivocacion. Sin embargo ayer me dio por comprobarlo y efectivamente, no carga bien. Es extraño porque con el modelo de pruebas inicial (un cubo que yo mismo escribi a mano) no da problema alguno, pero sin embargo me monte un exporter desde obj y el modelo que he probado (generado por el exporter carga fatal, de hecho parece que solo carga la mitad de las caras, lo cual es extraño. Dado que estoy enfrascado en la implementacion desde cero de la fisica, me gustaria que me echaseis una mano para encontrar este fallo que a todos nos gustaria solucionar dado que es basico para cualquier juego.

Gracias.
Podrias pasarnos el exporter? ;)

Hare algunas pruebecillas
Por supuesto, esta hecho en 5 minutos basándome en el cargador de obj de oyzzo, que me consta que funciona sin problemas, por eso pienso que el problema es del revolution engine. Para probarlo podéis utilizar la versión 0.1 del engine o puedo subiros una revision a la que llamo v0.1.5 pero que no llegue a sacar. Deberían funcionar exactamente igual, solo he traducido algunas cosas al ingles y he adoptado una convención para los nombres de las funciones. Si la quereis la subo, esa convención sera la que use el motor de aquí en adelante, haré una entrada en el blog explicándola cuando tenga tiempo.
PD, la carpeta esta tal y como yo la tengo, para que no se pierda el fallo en la transmision xD, directamente comprimida desde la raiz de mi disco duro C:
(mensaje borrado)
Me parece que el problema está en el archivo .obj que estás usando, si te fijas hay caras con 4 vértices, y he visto que el código asume que una cara siempre tiene 3 vértices.

La solución es tan sencilla como usar un exportador de .obj que convierta la malla a triángulos. El que usaba oyzzo tenía una opción para hacer justamente eso, pero no recuerdo como se llamaba.

modelTex[((texcoords - 1)*2)+1] = 1-texcoordv;  //thanks to frontier for this ;)
Me he emocionado al leer ese comentario, no me lo esperaba [+risas]
Vale, muchas gracias frontier, tiene toda la pinta de que el problema reside ahi, y que por eso solo cargan algunos modelos.
En ese caso arreglare ese fallo en el exporter y lo resubire bien. Tambien tengo que subir la revision del engine, a ver si me da tiempo a prepararlo todo.

Desde luego frontier tu ayuda es inestimable, te estoy muy agradecido por lo mucho que me ayudas.
Me gustaría participar más en el proyecto, pero como te comenté por MP cada día tengo menos tiempo libre.

Ánimo con el motor, estás haciendo un trabajo excelente [plas] [plas] [plas]
6 respuestas