[MODULE] Hiper3D

Extensiones oficiales y no para expander el lenguaje Gemix.
Post Reply
User avatar
erkosone
Posts: 10656
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.
Contact:

Re: [MODULE] Hiper3D

Post by erkosone »

Si, se ve, y los textos también.
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [MODULE] Hiper3D

Post by CicTec »

Entonces no veo porque no se pueden hacer particulas y tal...
User avatar
Nightwolf
Posts: 3032
Joined: Tue Oct 07, 2008 3:26 pm
Location: Aquí mismo.
Contact:

Re: [MODULE] Hiper3D

Post by Nightwolf »

Básicamente, el problema es que no se puede poner un graph en mitad de dos md2.
User avatar
erkosone
Posts: 10656
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.
Contact:

Re: [MODULE] Hiper3D

Post by erkosone »

Pues va a ser que si se puede Night :)

Lo que pasa es que no hay que pensar como si todo fueran procesos.
La librería puede crear gráficos tipo Sprite, eso si, sin transparencia, eso es una limitación un poco fea, pero por poder se puede, no se si será sencillo de modificar que el color rgb(0,0,0) no se renderize, olvidemos el alpha channel por que eso ya es otra cosa y no tengo ni idea de si el zbuffer de esta librería puede contemplar el canal alpha, si CicTec investigara el tema del color negro podría ser un gran avance, pues podrías hacer un juego en 32 bits con los sprites sin alpha channel para la escena en 3D, pero todo el interfaz del juego puede estar perfectamente en 32 bits con transparencia "como siempre".

No recuerdo que tipo de objeto es exactamente el "Sprite" en la librería pero si que puedes cargarlo, lo que pasa es que he escuchado que Simulatorone decía que había algún problema con la descarga de texturas, entonces no se hasta que punto podrás cargar animaciones con sprites, pero por poder se puede, pero hay que testear los límites.

Otra opción, para no usar sprites a palo seco, es esta:
- Aprobechando que ahora tenemos la ChipMunk disponible, con esta librería está tirado vectorizar un sprite "o los que hagan falta", es tan simple como que se hace con una sola linea de código, teniendo, el array de vectores que definen el contorno de la figura plana, se crea una copia del array y se añade como una segunda cara, separada en profundidad a la distancia que se quiera, y se interconectan los vectores "en el mismo orden que el array inicial de la primera cara", osea, si tengo un array de 100 vectores que definen el contorno de un sprite, pues creo una copia y la añado al array original, entonces conecto el vector cero con el 101, el 1 con el 102 y así con todos.. y para que esto?
Para crear un objeto 3D a partir de un cochino sprite.

Es bastante simple y el efecto puede ser muy similar al de la librería de boxels que comentabamos hace poco, aunque no tiene nada que ver.
La verdad es que se le puede sacar mucho partido a esta lib 3D, solo hay que ponerse con ella unos días y tener unas cuantas ideas buenas.

Si miramos la librería como una herramienta para hacer los mismos juegos 2D de siempre pero en semi 3D, puede dar mucho de si, por que toda la física de colisión la tenemos con la chipmunk y no hay que preocuparse de nada, solo de crear modelos, aunque bueno.. internet está tan plagada de ellos que no hace ni falta.
User avatar
Nightwolf
Posts: 3032
Joined: Tue Oct 07, 2008 3:26 pm
Location: Aquí mismo.
Contact:

Re: [MODULE] Hiper3D

Post by Nightwolf »

¿Se puede preparar un ejemplo de ésto que dices Erkos? Dos cubos y en medio un sprite (con transparencia claro). Con ésto ya podría empezar a hacer nuevas cosas :)
User avatar
erkosone
Posts: 10656
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.
Contact:

Re: [MODULE] Hiper3D

Post by erkosone »

Hola Night, según estoy viendo por algunos foros hay que activar una feature en la tinyGL para que los sprites se pinten con transparencia, yo no tengo mucha idea del tema GL por eso que pego la info que he encontrado por si CicTec sabe como añadirlo o comprobar si esto está activo en el modulo para que pueda pintar texturas con alpha channel:

-------------------------------------------
your problem is that even if blending is enabled pixels are always written to the buffers (color/depth). even completely transparent ones. if you want to disable writing of transparent pixels you should enable alpha testing. another solution (but this depends what you want to achieve) is to disable writing to depthbuffer completely (glDepthMask(GL_FALSE) or disable depth buffer testing. this way elements won't be 'sorted' but with this example it doesn't really matter.
-------------------------------------------
This is an example to see what is the problem, but for my effect i need depth buffer, i tried before to enable glEnable(GL_ALPHA_TEST), and it didn't work when i tried, but now it works, i added glAlphaFunc(GL_GREATER, 0.4f) and this was the part missing.

Thanks a lot, Kiero!
-------------------------------------------

No se si esto pueda orientar a CicTec para activar correctamente las transparencias en esta librería.
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [MODULE] Hiper3D

Post by CicTec »

erkosone wrote:Hola Night, según estoy viendo por algunos foros hay que activar una feature en la tinyGL para que los sprites se pinten con transparencia, yo no tengo mucha idea del tema GL por eso que pego la info que he encontrado por si CicTec sabe como añadirlo o comprobar si esto está activo en el modulo para que pueda pintar texturas con alpha channel:

-------------------------------------------
your problem is that even if blending is enabled pixels are always written to the buffers (color/depth). even completely transparent ones. if you want to disable writing of transparent pixels you should enable alpha testing. another solution (but this depends what you want to achieve) is to disable writing to depthbuffer completely (glDepthMask(GL_FALSE) or disable depth buffer testing. this way elements won't be 'sorted' but with this example it doesn't really matter.
-------------------------------------------
This is an example to see what is the problem, but for my effect i need depth buffer, i tried before to enable glEnable(GL_ALPHA_TEST), and it didn't work when i tried, but now it works, i added glAlphaFunc(GL_GREATER, 0.4f) and this was the part missing.

Thanks a lot, Kiero!
-------------------------------------------

No se si esto pueda orientar a CicTec para activar correctamente las transparencias en esta librería.
He estado mirando la TinyGL:
- No tiene implementado el comando glAlphaFunc, con lo cual no se pueden usar texturas con pixels transparentes para que no se vean (para sprites).
- No tiene implementado el comando glBlendFunc, necesario para hacer el alphablending, con lo cual no se puede haber transparencias en objetos.
- No tiene implementado soporte de modulacion de texturas, con lo cual un color se puede aplicar SOLO a un objeto que no este texturizado, viceversa se ignora.

Basandose en este datos, esta libreria no permite avanzar mas el engine.
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [MODULE] Hiper3D

Post by SimulatorOne »

pos eso.
a esperar. viendo que tiene esas limitaciones no mucho se puede hacer.

por decirte que parece el rendering 3D de la Nintendo DS (hasta este es superior en algunas cosas)
Ni de la PSX o N64....
User avatar
Nightwolf
Posts: 3032
Joined: Tue Oct 07, 2008 3:26 pm
Location: Aquí mismo.
Contact:

Re: [MODULE] Hiper3D

Post by Nightwolf »

Ojalá se mejore, a poco que se haga, quedaría genial. Simplemente genial :)
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [MODULE] Hiper3D

Post by CicTec »

El problema es que el autor ha abandonado el desarrollo, con lo cual no hay nadie que la mejore.
Post Reply

Return to “Extensiones Gemix”