2011-01-13 7 views
10

¿es posible crear un sombreador GLSL para que un objeto quede rodeado por un efecto brillante? Digamos que tengo un cubo 3d y si se selecciona, el cubo debe estar rodeado por un efecto azul brillante. ¿Algún consejo?objeto GLSL que brilla intensamente

Respuesta

12

Bueno, hay varias maneras de hacerlo. Si cada objeto también se representa en un formato winged edge, entonces es trivial calcular la silueta y luego extruirla para generar un resplandor. Sin embargo, esto es, en gran medida, un método de CPU.

Para un método de GPU, podría intentar renderizar en un búfer fuera de la pantalla con el conjunto de símbolos para incrementar. Si luego realiza una imagen borrosa en la imagen (aunque solo escribe en píxeles donde la galería de símbolos no es cero), obtendrá una imagen borrosa alrededor del borde de la imagen que luego se dibujará en la escena principal con fusión alfa. Esto es más un desenfoque que un resplandor, pero sería relativamente fácil volver a ajustar el brillo para que brille.

Hay un montón de otros métodos también ... Aquí hay un par de enlaces para que usted mire a través de:

http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html
http://www.codeproject.com/KB/directx/stencilbufferglowspart1.aspx?display=Mobile

una ronda de búsqueda en Google porque hay mucha información :)