Upload
micky-jerzy
View
398
Download
2
Embed Size (px)
Citation preview
Motores Gráficos
Informática Gráfica
Rubén Talón Argente
I n t r o d u c c i ó n
1 – ¿Qué es un Motor Gráfico?
2 – Historia de los Motores Gráficos
3 – Tipos de Motores Gráficos
4 – Conclusión, Tendencias futuras
¿Qué es un Motor Gráfico? Definición
El motor gráfico es la parte de un programa que controla, gestiona y actualiza los gráficos 3D en tiempo real.
Entre los engines más utilizados destacan el del Quake III y el de Unreal Tournament.
Se puede utilizar un mismo motor gráfico para desarrollar diferentes juegos.
Es una de las partes más importantes a la hora de desarrollar juegos 3D.
¿Qué es un Motor Gráfico? Definición
El Software que se crea está más avanzado que el Hardware que lo puede soportar.
Los programadores tienen que crear objetos con menos polígonos sin perder detalle y sin perder potencia.
¿Qué es un Motor Gráfico? ¿Cómo funciona?
Enviar a la CPU los datos que necesita para el próximo frame.
En un juego de coches tendríamos en cuenta: formulas de velocidad, la fricción, vectores, sistema de movimiento y un largo etcétera.
En un juego donde disparas, el motor crea un vector de recorrido de la bala y sabe donde impactará ( enemigo, pared, etc. ).
Los engines facilitan la programación de juegos y aplicaciones de diseño sin necesidad de enfrentarse desde cero al lenguaje de programación utilizado en cuestión.
Historia de los Motores Gráficos Inicio
Historia de los Motores Gráficos Inicio
Primeros intentos en el desarrollo de videojuegos en 3D
La SNES ya contaba con chips SUPER FX para crear mundos en 3D
Sin embargo, la mayoría de los supuestos juegos 3D estaban basados en SPRITES y los que podrían ser realmente 3D no se podían considerar que tuviesen un motor gráfico exclusivo.
Historia de los Motores Gráficos Inicio
Alone in the Dark baso su peculiar motor gráfico en crear los personajes, objetos y enemigos en 3D.
Basado en polígonos y en un sistema de cámaras, se puede conseguir un entorno 3D donde el jugador puede controlar al personaje en un mundo que no es 3D, simplemente sin imágenes.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Id Software comienza el desarrollo de revolucionarios motores gráficos.
John Carmak es considerado el mejor programador de engines.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Aparece el primer juego 3D, Wolfenstein 3D.
Ángulos de 90º, altura de paredes fija y elementos en 2D.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Aparece el DOOM con su motor mejorado.
Nuevos escenarios como escaleras, ascensores, ventanas…
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Juegos como HERETIC, HEXEN basados en el engine del DOOM mejorado.
También surgieron otros juegos apoyándose de la misma base del DOOM.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Nueva revolución, aparece el QUAKE.
Prácticamente todo es en 3D y no hay limitaciones de ángulos, paredes o suelos.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Aparece DUKE NUKEM 3D compitiendo con QUAKE y DOOM
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
QUAKE II con nuevo motor usado por otros juegos populares como Soldier of fortune y Half-Life.
Pionero en la implementación de aceleración de gráficos por Hardware.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Competidor del QUAKE II, UNREAL de mano de EPIC MEGAGAMES.
Es el segundo engine que más licencias ha vendido para ser utilizado en otros juegos.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
El contraataque de Id Software es QUAKE III. Optimización máxima.
Este juego llega a usarse para comprobar el rendimiento de tarjetas gráficas.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Epic Megagames lanza el Unreal Tournament 2003 y el Unreal 2.
Con las altas velocidades de Internet están basados en juegos en red.
Historia de los Motores Gráficos Línea del Tiempo
2006
1991
1992
1993
1994
1995
1996
1997
1998
1999
2003
2005
Nueva obra maestra de Id, Software, DOOM III.
Iluminación fotorealista y sensación de terror.
Tipos de Motores Gráficos Lista de engines
Crystal Space
Fly3D
Unreal
Torque V12
Quake 2
V3X
Irrlicht
JPCT
Apocalyx
Blimey 2
Tipos de Motores Gráficos Diferentes Técnicas usadas
Renderizado
Proceso de conversión de dibujo 3D con texturas y luz hecho por la computadora o la consola
El procesador de una computadora o una consola entiende las gráficas de los juegos de 3D como coordenadas en un plano cartesiano de tres dimensiones
Tipos de Motores Gráficos Diferentes Técnicas usadas
Árboles BSP
Es una estructura de datos usados para organizar objetos dentro de un espacio
Tiene aplicaciones en la remoción de áreas ocultas y en el trazado de rayos
Tipos de Motores Gráficos Diferentes Técnicas usadas
Radiosidad
Técnica para el cálculo de la iluminación global de un ambiente cerrado
La idea en que se basa esta técnica es buscar el equilibrio de la energía que es emitida por los objetos emisores de luz y la energía que es absorbida por los objetos en el ambiente.
Tipos de Motores Gráficos Diferentes Técnicas usadas
MipMapping
Técnica de manejo de texturas que cambia la textura de un polígono en un objeto 3D dentro de un juego según el ángulo de vista del jugador ó las condiciones del juego.
Conforme nos acercamos a un objeto, éste gana calidad. De esta forma objetos alejados tendran un nivel de resolucion bajo y objetos cercanos alto. Conseguimos mayor rendimiento.
Tipos de Motores Gráficos Diferentes Técnicas usadas
Phong y Gourand
Gourand se basa en que los polígonos aproximan una superficie curva.Se calculan las intensidades de los vértices.
Pong interpola las normales en lugar de las intensidades
Tipos de Motores Gráficos Diferentes Técnicas usadas
Bump-Mapping
Se utiliza para agregar el detalle a una imagen sin aumentar el número de polígonos.
Nos basamos en algoritmos que captan la textura inicial de la imagen y la convierten en otra.
Crea pequeños Bump mapping en la superficie del objeto para darle texturas sin cambiar la superficie del objeto.
Tipos de Motores Gráficos Diferentes Técnicas usadas
Lightmas
Esta técnica se empezó a usar en el 1996, y la crearon la gente de Id Software en el Quake.
Los lightmaps (mapas de luz) simplemente consisten en añadir una segunda textura a todas y cada una de las caras existentes en una escena 3D.
Es un buen método para ahorrarnos el uso de la Radiosidad.
Tipos de Motores Gráficos Crystal Space
Características
Renderizado en Portales y SectoresÁrboles BSPZbufferingRadiosidadDetección de colisiones Lightmaps
BumpmappingPhong Gouraud Sprites 2D y 3DSuperficies de BezierMipmapping
Plataformas
Otros
Tipos de Motores Gráficos Crystal Space
Tipos de Motores Gráficos Fly3D
Características
Renderizado en Portales y SectoresÁrboles BSP y PVSSistema de PluginsA* optimizadoDetección de colisiones Lightmapsmeshes animadas
Plataformas
Otros
Tipos de Motores Gráficos Fly3D
Tipos de Motores Gráficos Unreal
Características
Renderizado en Portales y SectoresÁrboles BSP, PVS y LODSistema de PluginsDetección de colisiones Lightmapsmeshes animadasRadiosidad
Plataformas
Otros
BumpmappingPhong y GouraudUnrealScript RaytracingEscalabilidadMipmapping enveloped lighting
Tipos de Motores Gráficos Genesis3D
Características
Renderizado en Portales.Árboles BSP y LODSistema de PluginsDetección de colisionesRadiosidad luces multicolores y dinámicas
Plataformas
Otros
Tipos de Motores Gráficos Torque V12
Características
Renderizado en Portales y Sectores.Meshes LODDetección de colisionesRadiosidad Texture MappingMidMappingLightmaps
Plataformas
Otros
Tipos de Motores Gráficos Quake2
Características
Renderizado en Portales y SectoresÁrboles BSPZbufferingRadiosidadDetección de colisiones Lightmaps
BumpmappingPhong y Gouraud Mipmapping Dll’s
Plataformas
Otros
Tipos de Motores Gráficos Irrlicht
Características
Plataformas
Otros
Motor 3D multiplataforma de alto rendimiento de código abierto para crear aplicaciones en tiempo real 3D. Sus características principales son ser fácil de utilizar, extremadamente rápido extensible y libre de fallos.
Multiplataforma
Tipos de Motores Gráficos JPCT
Características
Plataformas
Otros
Es un motor gráfico 3D con API para Java. Requiere Java 1.1 o superior y puede ser usado para hacer aplicaciones y applets. Soporta software de renderizado así como hardware de renderizado vía OpenGL( Java 1.4).
Multiplataforma W-buffer de 32 bits
Multiplataforma
Tipos de Motores Gráficos Apocalyx
Características
Plataformas
Otros
Sencillo engine escrito en OpenGL, con algunas características interesantes, como son el interface de scripting LUA, simulación del agua, de ropa…
Conclusión Tendencias Futuras
Actualmente, todos los motores gráficos que existen utilizan las mismas técnicas (radiosidad, mapping, …), sólo que con mayor potencia.
La evolución en este tema practicamente surgio entre el 1991-2000, 10 años creando nuevos motores ( tanto basandose en otros o creando otros nuevos ).
Hoy en dia, aunque se siguen desarrollando desde cero nuevos motores gráficos, muchas empresas compran el código de engines ya desarrollados, los adaptan a los juegos de ahora ( aumento de poligonos, más efectos, sonido 3D…)
Conclusión Tendencias Futuras
Blimey 2 es uno de los motores gráficos que utilizará la PlayStation 3, la Xbox 360 e incluso la PSP.
Actualización de Blimey ( MotoGP, Moto GP2… ) con una mayor potencia, efectos sonoros mejorados, librerias optimizadas para las plataformas que lo soportan, etc.