Últimamente he vuelto a reescribir lo poco que tenía hecho de Melt, porque no me gustaba el resultado. Estaba parcheando demasiado las cosas, y ahora procuro pensarlo todo mejor, para no arrepentirme en el futuro. Ya he avanzado más de lo que tenía la última vez, y tengo nodos con relaciones padre/hijo en una escena. Esta vez, la cosa ha sido más complicada porque he utilizado más clases propias, especialmente para representar entidades matemáticas como Matrices, Quaternions, etc.

De momento OpenGL no me está dando mucho la lata, y la mayoría de errores estaban en el código del Quaternion (¡como no!) . En cuanto a mi ritmo de trabajo, ha mejorado bastante gracias a una TODO-list en la que apunto pequeñas tareas que deberían poder realizarse en un día o dos, y en la que voy escribiendo los días que tardo en cada cosa. Esto me obliga a hacer pequeños cambios rápidos y que funcionan, en lugar de dejar el código ahí día tras días, lo que acaba haciendo que pierda el hilo.

En cuanto al diseño del motor, creo que está quedando bastante bien. Estoy simplificando al máximo las cosas, así que el usuario final pierde el control casi totalmente (aún más que con Ogre) pero creo que es lo correcto si lo enfocamos exclusivamente a desarrollar juegos rápidamente. La idea es que el usuario pase más tiempo desarrollando la lógica del juego que configurando el motor.

Lo próximo que me toca es añadir shaders a los objetos, espero que no sea difícil. Lo que sí lamento es que mi tarjeta no soporta FBO lo que me sería útil a la hora de hacer render-a-textura, por lo que tendré que tirar con los pbuffers de toda la vida.

También me estoy encontrando con dificultades a la hora de abstraerme de OpenGL. Ahora mismo, si quisiera usar DirectX, tendría que tocar todo el subsistema gráfico. OpenGL está por todas partes: en la ventana de renderizado, en los objetos (tienen un método dibujar que renderiza su VBO), y hasta las matrices están hechas para usar el estilo ‘por columnas’ que utiliza OpenGL.

Abstraerse de la librería gráfica es más que hacer un par de llamadas para dibujar, y me resulta difícil imaginar una abstracción para todo eso, salvo teniendo un montón de herencias. Al menos, de momento no es algo prioritario.

Os pondría alguna captura, pero digo yo que os podáis imaginar una ventana con dos cuadrados negros dando vueltas :)