Billboarding y Sistemas de Particulas.
- Capitulo X de la serie "Diario de un sufrido programador de DirectX" -


Autor  

 Lord Trancos

Ámbito  

 Direct3D

Lenguaje de Programación  

 Delphi 4

Fecha  

 2001/12/29

Índice

    

    I - Introducción.
    II - Que es un billboard?
    III - Que es un Sistema de Particulas?

    IV - Acerca de los ejemplos. 

    V - Descargar los ejemplos.

 


I - Introducción

A menudo, a la hora de representar algo en 3D, sucede que ese algo es demasiado complejo para realizarlo usando poligonos, o bien, requeriria muchos poligonos con la "amenaza" que supondria para la pobre tarjeta 3D.

Para comprender esto facilmente, podemos hecharle un vistazo al ejemplo de billboarding del Microsoft DirectX 8 SDK, el cual muestra una serie de colinas pobladas con arboles. Esos arboles, son billboards, y en lugar de estar hechos con cientos o miles de poligonos, estan hechos con solo un par de poligonos.

 



II - Que es un billboard?

Un billboard consiste en un par de triangulos (o un poligono de cuatro vertices) que forman una especie de "hoja de papel" (osea un rectangulo) en la cual dibujamos una textura (en el caso del ejemplo del SDK, la textura es el dibujo de un arbol), y que siempre dibujamos orientada hacia la camara.

Esto ultimo es la clave. La idea es que cuando se mueva la camara, tambien cambie la orientacion de esas "hojas de papel", de forma que siempre esten orientadas hacia la cámara.

Así pues, podemos decir que el billboarding permite simular objetos 3D usando una simple textura. Evidentemente, se trata de un simple intento de simular el objeto, y es algo que se nota. Pero aun así, resulta una tecnica muy interesante. Eso si, cuando la usemos debemos de tener en cuenta sus limitaciones; así por ejemplo, en el caso del ejemplo de los arboles del SDK, no deberiamos de permitir a la camara el poder hacer un "picado", es decir, el poder ver los arboles desde arriba, ya que la ilusion se perderia.

Una cosa importante a la hora de dibujar un grupo de billboards, es que debemos de hacerlo de forma ordenada, ya que si los billboard tienen transparencias (que es lo que pasa en el 99% de los casos), estas no se dibujaran correctamente si no lo hacemos de este modo. 



III - Que es un Sistema de Particulas?

Uno de los usos mas interesantes de la tecnica de billboarding, es el poder hacer un sistema de particulas.

Un sistema de particulas consiste en un monton (decenas, cientos, incluso miles) de objetos que forman parte de un mismo sistema. Al decir que forman parte de un mismo sistema, me refiero a que tienen el mismo origen y la misma naturaleza.

Por ejemplo, un conjunto de aves que vuelan en grupo es un sistema de particulas. Aunque, no es el tipo de sistema de particulas que debemos de hacer usando billboarding. Los sistemas de particulas que permite el billboarding suelen ser cosas como; estrellas, explosiones, humo, fuego,... etc... (si.... tambien sirven para simular sangre, jejeje)

Así, cada particula del sistema es un billboard; osea; una estrella, una "nube" de fuego o humo, etc...

El resto consiste en ir probando diferentes animaciones para las particulas y diferentes texturas y colores, hasta obtener el resultado deseado.

Nota: Existen otras formas de hacer sistemas de particulas.



IV - Acerca de los ejemplos

El primero de los ejemplos (SampleX9) muestra como dibujar un monton de billboards de dos formas diferentes; orientandolos completamente hacia la camara o manteniendo el eje Y fijo. (mantener el eje Y fijo es util en algunos casos como por ejemplo en el de los arboles). En realidad este ejemplo se trata de una especie de sistema de particulas.

El segundo ejemplo (SampleX10) se trata de un pequeño, simple (y un poco cutre) sistema de particulas, y varios ejemplos de cosas que se pueden hacer simplemente cambiando la textura de los billboards, el color, y la animacion de los mismos. En concreto muestra los siguientes sistemas; estrellas, lluvia (bastante cutre), magia, fuego, agua (un poco cutre tambien) y humo.



V - Descargar los ejemplos.

Descargar los ejemplos.

Para compilar este ejemplo necesitaras las cabeceras de DirectX 8.0 para Delphi de Delphi-Jedi y el Delphi 4 o superior. La libreria D3DX8ab.dll se encuentra junto estas cabeceras.


 

 
Hosted by www.Geocities.ws

1