Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Point Sprites==billboards?

Iniciado por boubou, 18 de Febrero de 2004, 10:10:52 PM

« anterior - próximo »

boubou

 los pointsprites del direct3d sirven para hacer eso?
entonces tengo mas que solucionado el problema de los billboards :D
onstruo Bou... Ha vuelto Mwhahahahahahahahahahahahahah!

Es la unica esperanza de los trolls tras el envio al "infienno
" de WhiteBlaizer y X-Alien

BeRSeRKeR

 Si no me equivoco, los point sprites tienen un límite de tamaño y además no podrás realizar transformaciones en ellos como por ejemplo hacer una rotación en el eje Z. Además, siempre serán cuadrados. Creo que tampoco puedes modificar sus coordenadas de textura para realizar ciertos efectos.

Así que, dependiendo de lo que quieras conseguir, te irá mejor utilizar point sprites o hacer las cosas como se han hecho siempre.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

CoLSoN2

 además no todas las tarjetas los soportan
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

boubou

 entonces me podeis decir como se hacen billboards?
anteriormente habia hecho un sistema de ellos, pero me salio mal.
me podeis explicar como se hace, por favor?
onstruo Bou... Ha vuelto Mwhahahahahahahahahahahahahah!

Es la unica esperanza de los trolls tras el envio al "infienno
" de WhiteBlaizer y X-Alien

BeRSeRKeR

 ATENCION: ¡Llevo bastante tiempo sin dormir. Puede que las explicaciones que vienen a continuación sean total o parcialmente incorrectas! :D

Veamos, un billboard es aquel que encara a la cámara en alguno de sus ejes. Así por ejemplo, en el caso de una partícula, los ejes suelen ser XY mientras que en el caso de un arbol, sólo X.

Poniendo como ejemplo el de una partícula, lo primero que tenemos que hacer es extraer los ejes de rotación de la cámara y finalmente crear los vértices de la partícula. Algo como esto (Direct3D):

Citarx_axis = (view_matrix._11, view_matrix._21, view_matrix._31)
y_axis = (view_matrix._12, view_matrix._22, view_matrix._32)

half_width = x_axis * particle_width * 0.5f
half_height = y_axis * particle_height * 0.5f

particle_v1 = particle_origin - half_width + half_height
particle_v2 = particle_origin + half_width + half_height
particle_v3 = particle_origin + half_width - half_height
particle_v4 = particle_origin - half_width - half_height

Pongamos por caso que en vez de una partícula, queremos un arbol. En ese caso, el eje Y siempre debe permanecer fijo. Es el X el que "acompaña" a la cámara. Así tenemos lo siguiente:

Citarx_axis = (view_matrix._11, view_matrix._21, view_matrix._31)
y_axis = (0.0f, 1.0f, 0.0f)     <- Esto se sustituiría por el eje Y del arbol en world-space.

half_width = x_axis * tree_width * 0.5f
half_height = y_axis * tree_height * 0.5f

tree_v1 = tree_origin - half_width + half_height
tree_v2 = tree_origin + half_width + half_height
tree_v3 = tree_origin + half_width - half_height
tree_v4 = tree_origin - half_width - half_height

En ambos casos, el quad tendría la siguiente estructura:

Citarv1------v2
|            |
|            |
|            |
v4------v3

Bueno, pues espero haber sido más o menos claro. ;)

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

[EX3]

 En terminos mas genericos, un billboard no seria una textura ke siempre esta mirando hacia la camara, o lo ke es lo mismo, un sprite, en un entorno 3D?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

BeRSeRKeR

Cita de: "[EX3"] En terminos mas genericos, un billboard no seria una textura ke siempre esta mirando hacia la camara, o lo ke es lo mismo, un sprite, en un entorno 3D?
Sí, un quad con una textura aplicada que encara a la cámara. Lo que ocurre es que no siempre tiene por qué estar encarando a la cámara en todos sus ejes. He puesto el ejemplo de la partícula y el arbol...

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

boubou

 asias, a ver si consigo terminar mi engine y mi programa para hacer juegos.
saludos.
onstruo Bou... Ha vuelto Mwhahahahahahahahahahahahahah!

Es la unica esperanza de los trolls tras el envio al "infienno
" de WhiteBlaizer y X-Alien






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.