La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Shaders de geometría Explosiones y “efecto arena” Programación avanzada sobre tarjetas gráficas Pedro Zuñeda Garrido.

Presentaciones similares


Presentación del tema: "Shaders de geometría Explosiones y “efecto arena” Programación avanzada sobre tarjetas gráficas Pedro Zuñeda Garrido."— Transcripción de la presentación:

1 Shaders de geometría Explosiones y “efecto arena” Programación avanzada sobre tarjetas gráficas
Pedro Zuñeda Garrido

2 Introducción

3 Introducción - Proyecto
4 modelos utilizando Geometry Shaders. Primitivas de salida: 3 modelos de explosión Modelo “efecto arena”

4 Introducción - Estructura
7 objetos programa con sus respectivos Shaders ¿Por qué? Porque dependiendo del modelo que se está ejecutando se utilizan unos Shaders u otros y hay que estar cambiando. Modelos de explosión ProgramID[0]: cargar objeto original. ProgramID[1]: cargar objeto dividido en triángulos. ProgramID[2]: cargar objeto dividido en puntos por baricentro. ProgramID[3]: cargar objeto con triángulos discretizados en puntos. Modelo ‘Efecto arena’ - (Después se explicará). ProgramID[4]: cargar objeto que se va consumiendo. ProgramID[5]: cargar objeto formado por granos de arena. Entorno ProgramID[6]

5 Introducción - Iluminación
Iluminación basada en imágenes (Práctica Tema 3 - Parte 4) Vertex Shader Ahora se calcula para las nuevas primitivas de salida en el Geometry Shader.

6 Introducción - Iluminación
Vertex Shader y Fragment Shader adjuntados a los objetos programa que utilizan Geometry Shader. Vertex Shader Pasamos vértices en coordenadas del objeto para calcular gReflectDir En el Geometry Shader. Fragment Shader Calculadas en Geometry Shader

7 Geometry Shader

8 Modelo de explosión nº 1 Geometría separada en triángulos

9 Modelo de explosión nº 1 Función ProduceVertex( ) - Geometry Shader

10 Modelo de explosión nº 1

11 Modelo de explosión nº 2 Geometría separada puntos. Un punto en el baricentro de cada triángulo.

12 Modelo de explosión nº 2 Geometry Shader

13 Modelo de explosión nº 2

14 Modelo de explosión nº 3 Triángulos de entrada discretizados en puntos.

15 Modelo de explosión nº 3 Geometry Shader Algoritmo de subdivisión

16 Modelo de explosión nº 3 ¿Cómo funciona el algoritmo de subdivisión?
Cada triangulo está parametrizado por dos variables, que serán multiplicadas por dos aristas adyacentes del triángulo para determinar todos los puntos interiores. La función ProduceVertex( ) produce un vértice a partir de los parámetros s y t. El parámetro t se utiliza para controlar la dirección primaria de la subdivisión a través del triángulo, y el parámetro s para controlar la dirección secundaria.

17 Modelo de explosión nº 3 Geometry Shader

18 Modelo de explosión nº 3 ¿Cómo funciona el algoritmo de subdivisión?
Por ejemplo:

19 Modelo de explosión nº 3

20 Modelo de explosión nº 3

21 Modelo de explosión nº 3

22 Modelo de “efecto arena”
Triángulos de entrada discretizados en puntos.

23 Modelo de “efecto arena”
Se hace un escaneado de la componente Y de la normal de cada triángulo. Los granos de arena empiezan a caer en un instante T según la orientación de su normal en Y. Objeto Programa Objeto Programa 2 (triángulos) (puntos) Resultado Escaneo detecta en instante T que un triángulo debe caer. No se dibuja triángulo en Programa 1. Se dibujan puntos en Programa 2 y aplica física.

24 Modelo de “efecto arena”
Escaneo de normales para detectar cuándo empieza a caer cada punto. Se calcula para el instante t actual, el valor mínimo de la componente Y de la normal (normalYScan) de manera que cualquier triángulo con un valor de Normal.y menor no es alterado. normalYScan se ha calculado a partir de la ecuación de la recta (véase gráfica). normalYScan

25 Modelo de “efecto arena”
Geometry Shader 1 (Triángulos)

26 Modelo de “efecto arena”
Geometry Shader 2 (Puntos)

27 Modelo de “efecto arena”
Geometry Shader 2 (Puntos) Para mover los puntos es necesario desfasar el instante de tiempo con el que se calcula la física de la caída, ya que no todos los puntos empiezan a caer al mismo tiempo.

28 Referencias Mike Bailey and Steve Cunningham. “Graphic Shaders”, second edition, 2012.

29 Gracias por vuestra atención


Descargar ppt "Shaders de geometría Explosiones y “efecto arena” Programación avanzada sobre tarjetas gráficas Pedro Zuñeda Garrido."

Presentaciones similares


Anuncios Google