Fundamentos. Abstracción Matemática Rendering Pre-rendering Real-time rendering.

18
3D Game Programming Fundamentos

Transcript of Fundamentos. Abstracción Matemática Rendering Pre-rendering Real-time rendering.

Page 1: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

3D Game Programming

Fundamentos

Page 2: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

¿Qué es un Modelo 3D?

Abstracción Matemática

Rendering Pre-rendering Real-time rendering

Page 3: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Sistemas de Coordenadas

Sistema de coordenadas cartesianas

Necesidad de múltiples sistemas de coordenadas

Page 4: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Sistemas de Coordenadas

Tipos Sentido relativo de los ejes

De mano derechaDe mano izquierda

Page 5: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Sistemas de Coordenadas

Espacio de Objeto (Object Space) Espacio de Mundo (World Space)

Page 6: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Figuras 3D

Vértices, segmentos y polígonos Triángulos y mallas (Mesh) Caras

Face y backface

Page 7: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Vistas y Cámaras

Cámara Posición, dirección Up-vector

Viewport View frustum

Page 8: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Display de un Modelo 3D

Coordenadas locales y globales Transformación y proyección

Page 9: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Transformaciones

Traslación, rotación y escala Transformaciones afines (Affine

Transform)

Page 10: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Proyecciones

Proyección ortogonal o paralela

Page 11: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Proyecciones

Proyección en perspectiva

Page 12: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Pipeline Gráfico

Lógica de Aplicación

Geometría Rastering

Rendering

Page 13: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Render Pipeline

Cálculos Geométricos Transformaciones Selección de objetos visibles (Frustum

culling) Iluminación por vértice (Vertex shading) Proyección Backface culling Recorte (Clipping)

Page 14: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Render Pipeline

Rastering Ocultamiento por buffer de profundidad

(Z-Buffer occlusion) Mapeo de texturas (Texturing) Iluminación por píxel (Pixel shading) Frame buffer

Page 15: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Game Time y FPS

Game Time Frames FPS Independencia entre Game Time y

FPS

Page 16: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Iluminación

Ambiental Difusa Especular

Page 17: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Luz puntual

Fuentes de Luz

Luz ambiente Luz puntual (Point light) Luz direccional Spot light

Spot light

Page 18: Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.

Texturas