Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián...
-
Upload
ines-quintana -
Category
Documents
-
view
11 -
download
1
Transcript of Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián...
![Page 1: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/1.jpg)
Desarrollo de Juegos de Desarrollo de Juegos de Video en 3DVideo en 3D
Parte 2: Parte 2:
Usted está entrando en: Usted está entrando en:
““La tercera dimensión”La tercera dimensión”Fabián Coello C.Febrero 2006
![Page 2: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/2.jpg)
TemarioTemario
Representando al mundo en tres Representando al mundo en tres dimensionesdimensiones
RenderizadoRenderizado 3D PipeLine3D PipeLine DirectX y 3DDirectX y 3D Iniciando DirectX para hacer 3DIniciando DirectX para hacer 3D
![Page 3: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/3.jpg)
Representando al mundo en tres Representando al mundo en tres dimensionesdimensiones
Sistemas de Coordenadas (Eje de Sistemas de Coordenadas (Eje de referencia )referencia )
Abstracción matemática ( Vectores )Abstracción matemática ( Vectores ) Transformaciones ( Matrices )Transformaciones ( Matrices )
(0,0,2)X + 2 = 1…..
???
![Page 4: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/4.jpg)
Sistemas de ReferenciaSistemas de Referencia
Forma para describir la posición y Forma para describir la posición y orientación de objetos en cualquier orientación de objetos en cualquier dimensión ( Rdimensión ( Rnn R = Espacio) R = Espacio)
Eje de coordenadas (relatividad)Eje de coordenadas (relatividad) Sistema Cartesiano (Espacio en dos Sistema Cartesiano (Espacio en dos
dimensiones Rdimensiones R22))
xx
yy
RR22
xx
yy
RR33
zz
![Page 5: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/5.jpg)
Sistemas de ReferenciaSistemas de Referencia Sistema de Coordenadas de mano Sistema de Coordenadas de mano
Izquierda *Izquierda *
Sistema de Coordenadas de mano Sistema de Coordenadas de mano DerechaDerecha
+y+y
+x+x-z-z
+y+y
+x+x+z+z
![Page 6: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/6.jpg)
VectoresVectores
Elemento de un espacioElemento de un espacio Usados para representar posición, Usados para representar posición,
cantidad ( magnitud ), orientación cantidad ( magnitud ), orientación ( dirección ) ( dirección )
Representado como (x,y) en RRepresentado como (x,y) en R22 (x,y,z) en R(x,y,z) en R33, (x,y,z,w,…..) en R, (x,y,z,w,…..) en Rnn
posiciónposición direccióndirección magnitudmagnitud
![Page 7: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/7.jpg)
Operaciones de VectoresOperaciones de Vectores Suma, RestaSuma, Resta
Multiplicación por Multiplicación por escalarescalar
Producto Punto Producto Punto
Producto Cruz Producto Cruz
Longitud (Magnitud)Longitud (Magnitud)
),(),(),( 21212211 yyxxyxyx ),(),(),( 21212211 yyxxyxyx
),(),( 1111 ayaxyxa
cosBABA
sinBANBA
22aa yxA
![Page 8: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/8.jpg)
MatricesMatrices
Arreglo de números que representa una Arreglo de números que representa una transformación linealtransformación lineal
Pueden representar transformaciones Pueden representar transformaciones (desplazamiento, escalamiento, rotación, (desplazamiento, escalamiento, rotación, etc ) de vectores de una manera compacta etc ) de vectores de una manera compacta y eficientey eficiente
Una matriz puede representar un conjunto Una matriz puede representar un conjunto de transformaciones ( concatenación de de transformaciones ( concatenación de transformaciones )transformaciones )
![Page 9: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/9.jpg)
RenderizadoRenderizado
Tomar la representación del mundo y Tomar la representación del mundo y desplegarlo en la pantalladesplegarlo en la pantalla• Transformaciones geométricasTransformaciones geométricas• Rasterización (convertir una imagen Rasterización (convertir una imagen
vectorial bidimensional en un bitmap o vectorial bidimensional en un bitmap o raster ) raster )
(0,0,2)X + 2 = 1…..
![Page 10: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/10.jpg)
Sistemas de CoordenadasSistemas de Coordenadas
CoordenadasCoordenadasLocalesLocales
CoordenadasCoordenadasObjetoObjeto
CoordenadasCoordenadasGlobalesGlobales
CoordenadasCoordenadasCámaraCámara
CoordenadasCoordenadasProyecciónProyección
CoordenadasCoordenadasPantallaPantalla
![Page 11: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/11.jpg)
Sistema de Coordenadas LocalesSistema de Coordenadas Locales
Sistema básico para representar las Sistema básico para representar las partes del objetopartes del objeto
![Page 12: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/12.jpg)
Sistema de Coordenadas de Sistema de Coordenadas de ObjetoObjeto
Sistema definido con respecto al Sistema definido con respecto al origen del objeto.origen del objeto.
![Page 13: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/13.jpg)
Sistema de Coordenadas GlobalesSistema de Coordenadas Globales
Define el espacio donde todos los Define el espacio donde todos los objetos son colocados, escalados y objetos son colocados, escalados y orientados.orientados.
![Page 14: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/14.jpg)
Sistema de Coordenadas de Sistema de Coordenadas de CámaraCámara
Define la posición de la cámara o visión.Define la posición de la cámara o visión. Permite redefinir geométricamente los Permite redefinir geométricamente los
objetos con respecto al eje de la cámara objetos con respecto al eje de la cámara
![Page 15: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/15.jpg)
Sistema de Coordenadas de Sistema de Coordenadas de PerspectivaPerspectiva
Espacio que lo que finalmente se va Espacio que lo que finalmente se va a ver en la pantalla a ver en la pantalla
Permite proyectar los objetos 3D a Permite proyectar los objetos 3D a 2D2D
![Page 16: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/16.jpg)
Sistema de Coordenadas de Sistema de Coordenadas de PantallaPantalla
Define el área rectangular donde la Define el área rectangular donde la imagen es desplegada.imagen es desplegada.
Es definido con respecto a la pantalla Es definido con respecto a la pantalla y su representación.y su representación.
![Page 17: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/17.jpg)
3D Pipeline3D Pipeline
Línea de ensamblaje que permite Línea de ensamblaje que permite “armar imágenes” de partes “armar imágenes” de partes (modelos)(modelos)
Permite paralelismo y especialización Permite paralelismo y especialización de las tareas.de las tareas.
AplicaciónAplicación GeometríaGeometría RasterizaciónRasterización
Tarjeta Gráfica ( GPU )Tarjeta Gráfica ( GPU )
![Page 18: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/18.jpg)
Fase de AplicaciónFase de Aplicación Lugar donde se genera la lógica y los Lugar donde se genera la lógica y los
modelos a ser desplegadosmodelos a ser desplegados Es donde se implementa el motor del Es donde se implementa el motor del
juego o aplicación.juego o aplicación. Es donde se realizan operaciones tales Es donde se realizan operaciones tales
como:como:• Lógica de Juego Lógica de Juego • Inteligencia ArtificialInteligencia Artificial• AnimaciónAnimación• Manejo EspacialManejo Espacial• Detección de ColisionesDetección de Colisiones• Física de JuegoFísica de Juego
![Page 19: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/19.jpg)
Trasformaciones GeométricasTrasformaciones Geométricas
Trasformación Trasformación GlobalGlobal
Trasformación Trasformación CámaraCámara
IluminaciónIluminación
TransformaciónTransformaciónPerspectivaPerspectiva
TruncamientoTruncamientoDivisión deDivisión dePerspectivaPerspectiva
TransformaciónTransformaciónPantallaPantalla
![Page 20: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/20.jpg)
Transformación GlobalTransformación Global
Posicionar objetos y orientarlos hacia Posicionar objetos y orientarlos hacia las coordenadas globaleslas coordenadas globales
Rotar, Escalar, Posicionar objetosRotar, Escalar, Posicionar objetos
![Page 21: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/21.jpg)
Transformación CámaraTransformación Cámara
Definir la posición y orientación de la Definir la posición y orientación de la CámaraCámara
Definir las posiciones de las luces, Definir las posiciones de las luces, orientación y sus propiedadesorientación y sus propiedades
Definir un sistema de Coordenadas Definir un sistema de Coordenadas de cámarade cámara
Transformar la escena del sistema de Transformar la escena del sistema de coordenadas de mundo al sistema de coordenadas de mundo al sistema de coordenadas de cámara.coordenadas de cámara.
![Page 22: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/22.jpg)
IluminaciónIluminación
Computar los colores de cada vértice Computar los colores de cada vértice Aplicar un modelo de iluminación Aplicar un modelo de iluminación
basada en parámetrosbasada en parámetros Vertex Shaders.Vertex Shaders.
![Page 23: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/23.jpg)
Transformación de PerspectivaTransformación de Perspectiva
Crear el Frustum de visión ( Pirámide Crear el Frustum de visión ( Pirámide de visión )de visión )
Deformar los objetos para que Deformar los objetos para que quepan en un paralelogramo de quepan en un paralelogramo de visión visión
![Page 24: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/24.jpg)
TruncamientoTruncamiento
Eliminar los objetos y partes del Eliminar los objetos y partes del objeto que no son visibles en el objeto que no son visibles en el rectángulo de visiónrectángulo de visión
![Page 25: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/25.jpg)
División de PerspectivaDivisión de Perspectiva
Proyectar los objetos 3D en un plano Proyectar los objetos 3D en un plano rectangular 2Drectangular 2D
Realizar la Corrección de perspectivaRealizar la Corrección de perspectiva Convierte las coordenadas hacia un Convierte las coordenadas hacia un
sistema de pantalla independiente sistema de pantalla independiente de la resolución del monitor. de la resolución del monitor.
![Page 26: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/26.jpg)
Transformación de PantallaTransformación de Pantalla
Define la porción de pantalla a donde Define la porción de pantalla a donde serán mapeadas las coordenadas de serán mapeadas las coordenadas de pantallapantalla
Reinterpreta la coordinadas de Reinterpreta la coordinadas de pantalla virtual al tamaño verdadero pantalla virtual al tamaño verdadero y real en la pantalla a desplegary real en la pantalla a desplegar
![Page 27: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/27.jpg)
Rasterización Rasterización
Convierte la representación vectorial Convierte la representación vectorial 2D en pixeles a ser puestos en la 2D en pixeles a ser puestos en la pantalla.pantalla.
Elimina las partes posteriores de los Elimina las partes posteriores de los objetos.objetos.
Calcula los colores reales a ser Calcula los colores reales a ser desplegados ( mapeo de texturas )desplegados ( mapeo de texturas )
Pixel ShadersPixel Shaders
![Page 28: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/28.jpg)
Rasterización Rasterización
Manejo de profundidad ( Depth Test )Manejo de profundidad ( Depth Test ) Efectos post imagenEfectos post imagen
• AntialiasingAntialiasing
• Anisotropic filteringAnisotropic filtering
![Page 29: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/29.jpg)
DirectX DirectX
API para diseño de aplicaciones que API para diseño de aplicaciones que utilizan gráficos y multimediautilizan gráficos y multimedia
Provee una abstracción del hardware Provee una abstracción del hardware que implementa la solución.que implementa la solución.
Permite la aceleración por hardware Permite la aceleración por hardware del renderizado de objetos (Direct3D)del renderizado de objetos (Direct3D)
Basado en COMBasado en COM
![Page 30: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/30.jpg)
Direct3D y C#Direct3D y C#
Librería tipo Manage CodeLibrería tipo Manage Code Utilidades para crear objetos, UI, Utilidades para crear objetos, UI,
transformaciones.transformaciones. Fácil de utilizarFácil de utilizar No requiere manejo de memoriaNo requiere manejo de memoria
![Page 31: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/31.jpg)
Iniciando DirectX para hacer 3DIniciando DirectX para hacer 3D
Incluir Incluir • Microsoft.DirectX.dllMicrosoft.DirectX.dll• Microsoft.DirectX.Direct3DMicrosoft.DirectX.Direct3D
Crear el DispositivoCrear el Dispositivo Todo dibujo se realiza entreTodo dibujo se realiza entre
• BeginScene()BeginScene()• EndScene()EndScene()
![Page 32: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/32.jpg)
DemostraciónDemostración
![Page 33: Desarrollo de Juegos de Video en 3D Parte 2: Usted está entrando en: La tercera dimensión Fabián Coello C. Febrero 2006.](https://reader033.fdocuments.mx/reader033/viewer/2022061305/54a79b4f497959eb6d8b49d3/html5/thumbnails/33.jpg)
RecursosRecursos
www.microsoft.com/directxwww.microsoft.com/directx msdn.microsoft.com/directxmsdn.microsoft.com/directx www.extremetech.com/www.extremetech.com/
article2/0,1697,9722,00.asparticle2/0,1697,9722,00.asp