2010/01/28

10-01-28 Editor de Mundos terminado

El editor de mundos esta terminado en cuanto a GUI se refiere, aun hay algunos tweaks que se pueden incluir. como seleccion de objetos en pantalla por clicks de mouse o cosas similares, sin embargo por el momento me enfocare a reescribir el traductor de modelos OBJ a BTO.

Hay un par de videos del editor de mundos en mi cuenta en youtube:
Video Pt 1
Video Pt 2

Happy Codding!

2010/01/22

10-01-22 Sobre los avances

He estado publicando mis avances ya en video por medio de mi canal de Youtube:
El cargador de Mundos ya esta listo, ahora solo hay que implementarle una Interfaz grafica.


Happy Codding!

2010/01/12

10-01-12a Cargando multiples Objetos con Animacion

Los avances del dia de ayer no fueron publicados pero los publico en conjunto con los de hoy.

Ya quedo el cambiar de frame con objetos en la posicion que establece el archivo BTO para cada frame. Lo que falta para dejar una animacion clave es poco y solo bastara con hacer un metodo que diga de que frame a que frame se va a pintar y el orden. De este modo se puede mandar pintar una animacion en particular.

Los cambios del dia incluyen el poder cargar mas de un modelo y ponerlos a animar juntos.

No tengo Camtasia instalado en este momento asi que no puedo grabar pantalla, pero en cuanto lo instale subire un video demostrativo.

Happy Codding!

2010/01/08

10-01-08 Cargador al 80% Nuevo Entorno


Por el momeno no hay avances.

Solamente he cambiado el Entorno de OGRE para incluir entradas de teclado y mouse, sinembargo por el momento no he podido hacer que las entradas afecten la posicion de los grupos y asi lograr la animacion.

Revisare un par de tutoriales que encontre en la red a ver que logro averiguar al respecto.

Chuck Norris once lost the remote, but maintained control of the TV by yelling at it in between bites of his "Filet of Child" sandwich.

Happy Codding!

10-01-08 Cargador al 80%


Como pueden ver el cargador ya funciona al 80%. Para solucionar mi problema del dia de ayer tube que rehacer lo que hice el dia de antier, deje de usar mi propoio formato de Jerarquias y utilize el formato nativo de OGRE de jerarquias.

El problema de las rotaciones sigue siendo el mismo no puedo orientar y luego trasladar, al menos no en el mismo ciclo, lo cual es una patada en las bolas para mi trabajo futuro, pero para el trabajo inmediato esta funcionando el posicionamiento de mis grupos.

Problemas inmediatos:
+Mis modelos deben medir menos de 100 grupos... puedo hacer que sean de mas pero necesito un numero fijo al momento pues el apuntador no me deja hacerlo un numero variable.
+Necesito encontrar la manera para que cada ciclo pinte un modelo diferente.

Chuck Norris once rode a nine foot grizzly bear through an automatic car wash, instead of taking a shower.

Happy Codding!

2010/01/07

10-01-07 Hoy no fue un gran dia para la ciencia


Bueno aclaro que este texto lo escribo hasta hoy porque ayer estaba tan harto que nisiquiera tenia ganas de explicar... ahora lo hago. Lo que yo queiro obtener es A y lo que obtengo de diferentes maneras es B. El A que obtube para esta foto lo hice a ojo de buen cubero... y todos sabemos que la computacion grafica es una ciencia exacta... o que alguien que juegue xbox tiene a un programador sentado junto a el para cada frame acomodarle las graficas para que se vea bien? no verdad?

Resulta que OpenGL Rotrar y Trasladar es diferente a Trasladar y Rotar, pero para OGRE no. No se explicarlo a ciencia cierta, pero la matriz de proyeccion parece solo ser afectada al final del ciclo... lo que hace mi vida una pesadilla... O bueno... al menos la vida de mi cargador.

Afortunadamente para cuando escribo esto (el dia 8 a las 10:00AM) logre solucionar mi problema y lo explico en la siguiente entrada.

The word 'Kill' was invented by Chuck Norris. Other words were 'Die', 'Beer', and 'What'.

Happy Codding!

2010/01/06

10-01-06b Cargador de objetos al 70%


Pues el cargador ya promete. Ya maneja jerarquias y acomoda en sus posiciones correctas a los grupos, ahora se presenta un nuevo problema.

El manejo de las rotaciones en ogre se hace por medio de Quaterniones, lo cual quiero aclarar, es muy bueno, el problema es que las animaciones las tengo por rotaciones normales como las de OpenGL, por lo que al momento te aplicarlas, se hacen diferente. En OpenGL salen directo, aqui tendre que hacer una serie de artilugios pues si las rotaciones estan en partes compuetas... los resultados son como el de abajo:



No puedo pintar como en OpenGL los vertices donde a mi se me de la gana por cada ciclo, en OGRE se cargan los objetos una vez y de ahi se utilizan como recursos, por lo que mis funciones BTORotatef, BTO Translatef, BTOScalef tambien son inutiles despues de cargado el modelo y traducido a OGRE. Y descargar los objetos y volverlos a crear cada ciclo no tiene sentido.

Como ya pinta tambien por frames solamente falta acomodar las rotaciones para que se vean bien y redisenar las funciones de Animacion para que pinten con OGRE.

Despues de eso lo que sigue es el cargador de mundos.

If Chuck Norris wants your opinion, he'll beat it into you.

Happy Codding!

10-01-06a Cargador de objetos al 60%


Ok creo que soy algo subjetivo con esto de los porcentajes... pero hay un nuevo avance asi que supongo del 50 tendria que subir mas no?

Ya puedo cargar mas de un material por modelo. Sigo sin cargar animaciones y ese sera el siguiente paso.

Debido a la manera de cargar de OGRE es algo complicado hacer que cada poligono tenga un material diferente (Como en el caso de OpenGL) y tendria que hacer un modelo para cada poligono... lo cual no hare, es demaciado desperdicio de memoria, la manera en la que trabaja este cargador, hace que cada grupo sea un modelo dentro de OGRE y si bien es desperdicio no lo es tanto como que fuera un modelo para cada poligono.

En cuanto pueda cargar animaciones voy a trabajar en un convertidor de OBJ/ANIM a BTO y a diferencia de los anteriores este sera un convertidor exclusivo, ademas dara la opcion de convertir a BTO e incluir un .material para utilizar en OGRE, si bien este archivo .material no sirve de nada en OpenGL, daria la facilidad de utilizar el archivo resultante en OGRE tambien.

La comunicacion con el wiiMote esta lista y el control no es malo, dependera del tipo de la aplicacion el uso que se le de.

Who let the dogs out? Chuck Norris did... any commplains?

Happy Codding!

2010/01/05

10-01-05 Cargador de objetos al 50%


Que alguien, en el nombre de todo lo que es puro y santo, me explique porque para OGRE arriba es abajo y abajo es arriba? lo programaron en el casillero de David Jhones???

Bien despues de liberada mi frustracion debo decir que perdi n horas en descubrir porque no estaba mapeada la textura correctamente, pero despues de muchos debugs y juegos con el archivo que todos los datos se pasaban correctamente, y se pintaban mal, por ultimo probe pintar un solo triangulo y luego 2 para formar un cuadrado y resulto que las imagenes solo estan invertidas en V.... lo cual es trizte pero solo hubo que agregar una linea de codigo para corregir eso:
v = 1 - v;
No es triste? Horas de trabajo resumidos a 1 linea de codigo, a una variable, a 6 caracteres, ok tienen una idea de lo que pienso....

El cargador ya carga por grupos, y una textura por modelo, no carga animaciones y en resumen va como a la mitad, pero hey! ya es la mitad en dos dias... esto esperaba tenerlo para el fin.

Pues a seguirle!

Two wrongs don't make a right. Unless you're Chuck Norris. Then two wrongs make a roundhouse kick to the face.

Happy Coding!

2010/01/04

10-01-04 Cargador de objetos al 20%


Esta es una imagen de lo que hace actualmente el cargador, falta corregir las texturas y agregar animaciones, pero voy bien, voy muy bien. Esperaba este tipo de avance para mediados de semana. :D


Chuck Norris is a vegetarian. Meaning, he does not eat animals until first he puts them into vegetative state with his fists.

Happy Codding!

10/01/04 Primera entrada del año




Bueno, tiene un monton que no escribo nada, supongo que me tome un tiempo sabatico... shame on me...

Pero listos para arrancar el 2010 no me detendre hasta tener la tesis concluida.

Estube pensando en un par de ideas nuevas para añadir a la misma, ahora solo falta trabajarlas.

Para comenzar me gustaria terminar ya el cargador de objetos .bto en OGRE. Y justo por eso voy a comenzar, la meta:

Tener listo el cargador de OGRE para el viernes.

The word 'Kill' was invented by Chuck Norris. Other words were 'Die', 'Beer', and 'What'.

Happy Codding!