Page 7 of 10

Re: [MODULE] Hiper3D

Posted: Sat Jul 20, 2013 9:05 pm
by erkosone
Si, se ve, y los textos también.

Re: [MODULE] Hiper3D

Posted: Sat Jul 20, 2013 11:41 pm
by CicTec
Entonces no veo porque no se pueden hacer particulas y tal...

Re: [MODULE] Hiper3D

Posted: Sun Jul 21, 2013 9:22 am
by Nightwolf
Básicamente, el problema es que no se puede poner un graph en mitad de dos md2.

Re: [MODULE] Hiper3D

Posted: Sun Jul 21, 2013 3:09 pm
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.

Re: [MODULE] Hiper3D

Posted: Mon Jul 22, 2013 10:07 am
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 :)

Re: [MODULE] Hiper3D

Posted: Mon Jul 22, 2013 3:59 pm
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.

Re: [MODULE] Hiper3D

Posted: Thu Aug 01, 2013 6:18 pm
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.

Re: [MODULE] Hiper3D

Posted: Thu Aug 01, 2013 8:43 pm
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....

Re: [MODULE] Hiper3D

Posted: Thu Aug 01, 2013 10:51 pm
by Nightwolf
Ojalá se mejore, a poco que se haga, quedaría genial. Simplemente genial :)

Re: [MODULE] Hiper3D

Posted: Fri Aug 02, 2013 8:50 am
by CicTec
El problema es que el autor ha abandonado el desarrollo, con lo cual no hay nadie que la mejore.