La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Motores Gráficos Informática Gráfica Rubén Talón Argente.

Presentaciones similares


Presentación del tema: "Motores Gráficos Informática Gráfica Rubén Talón Argente."— Transcripción de la presentación:

1 Motores Gráficos Informática Gráfica Rubén Talón Argente

2 1 – ¿Qué es un Motor Gráfico?
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

3 ¿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. Hay varias definiciones que explican que es un motor gráfico y como funciona.

4 ¿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. Explicar que se puede crear un Motor Gráfico y luego decirle que trabaje con un numero de poligonos, pero que si el hardware no lo aguanta entonces no se vera con claridad. Con menos poligonos se pueden crear personas, objetos y animales con una alta definicion.

5 ¿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.

6 Historia de los Motores Gráficos
Inicio

7 Primeros intentos en el desarrollo de videojuegos en 3D
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.

8 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.

9 Historia de los Motores Gráficos
Línea del Tiempo Id Software comienza el desarrollo de revolucionarios motores gráficos. John Carmak es considerado el mejor programador de engines. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

10 Historia de los Motores Gráficos
Línea del Tiempo Aparece el primer juego 3D, Wolfenstein 3D. Ángulos de 90º, altura de paredes fija y elementos en 2D. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

11 Historia de los Motores Gráficos
Línea del Tiempo Aparece el DOOM con su motor mejorado. Nuevos escenarios como escaleras, ascensores, ventanas… 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

12 Historia de los Motores Gráficos
Línea del Tiempo Juegos como HERETIC, HEXEN basados en el engine del DOOM mejorado. También surgieron otros juegos apoyándose de la misma base del DOOM. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

13 Historia de los Motores Gráficos
Línea del Tiempo Nueva revolución, aparece el QUAKE. Prácticamente todo es en 3D y no hay limitaciones de ángulos, paredes o suelos. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

14 Historia de los Motores Gráficos
Línea del Tiempo Aparece DUKE NUKEM 3D compitiendo con QUAKE y DOOM 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

15 Historia de los Motores Gráficos
Línea del Tiempo 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. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

16 Historia de los Motores Gráficos
Línea del Tiempo 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. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

17 Historia de los Motores Gráficos
Línea del Tiempo 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. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

18 Historia de los Motores Gráficos
Línea del Tiempo Epic Megagames lanza el Unreal Tournament 2003 y el Unreal 2. Con las altas velocidades de Internet están basados en juegos en red. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

19 Historia de los Motores Gráficos
Línea del Tiempo Nueva obra maestra de Id, Software, DOOM III. Iluminación fotorealista y sensación de terror. 1991 1992 1993 1994 1995 1996 1997 1998 1999 2003 2005 2006

20 Tipos de Motores Gráficos
Lista de engines Crystal Space Fly3D Unreal Torque V12 Quake 2 V3X Irrlicht JPCT Apocalyx Blimey 2 Actualmente hay mas de 700 engines, la mayoria de ellos utilizados en los juegos tanto de ordenador como en consolas. Los mas conocidos de arriba el Quake, Unreal.

21 Tipos de Motores Gráficos
Diferentes Técnicas usadas X Z Renderizado Y 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

22 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

23 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.

24 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.

25 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

26 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.

27 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.

28 Tipos de Motores Gráficos
Crystal Space Características Renderizado en Portales y Sectores Árboles BSP Zbuffering Radiosidad Detección de colisiones Lightmaps Bumpmapping Phong Gouraud Sprites 2D y 3D Superficies de Bezier Mipmapping Plataformas Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++. It supports: true six degrees of freedom, colored lighting, lightmapped and stencil based lighting, shader support (CG, vertex programs, fragment programs, ...), mipmapping, portals, mirrors, alpha transparency, reflective surfaces, 3D sprites (frame based or with skeletal animation using cal3d animation library), procedural textures, particle systems, halos, volumetric fog, scripting (using Python, Perl, Java, or potentially other languages), 16-bit and 32-bit display support, OpenGL, and software renderer, font support (also with freetype), hierarchical transformations, physics plugin based on ODE, ... See the extensive list of features for more details. Crystal Space currently runs on GNU/Linux, general Unix, Windows, Windows NT, and MacOS/X. It can optionally use OpenGL (on all platforms), SDL (all SDL platforms), X11 (Unix or GNU/Linux) and SVGALIB (GNU/Linux). It can also optionally use assembler routines using NASM and MMX. Crystal Space is a large open source project. There are about 700 people subscribed to the Crystal Space mailing list (see the Contact Page for more information about how to subscribe). Otros

29 Tipos de Motores Gráficos
Crystal Space Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++. It supports: true six degrees of freedom, colored lighting, lightmapped and stencil based lighting, shader support (CG, vertex programs, fragment programs, ...), mipmapping, portals, mirrors, alpha transparency, reflective surfaces, 3D sprites (frame based or with skeletal animation using cal3d animation library), procedural textures, particle systems, halos, volumetric fog, scripting (using Python, Perl, Java, or potentially other languages), 16-bit and 32-bit display support, OpenGL, and software renderer, font support (also with freetype), hierarchical transformations, physics plugin based on ODE, ... See the extensive list of features for more details. Crystal Space currently runs on GNU/Linux, general Unix, Windows, Windows NT, and MacOS/X. It can optionally use OpenGL (on all platforms), SDL (all SDL platforms), X11 (Unix or GNU/Linux) and SVGALIB (GNU/Linux). It can also optionally use assembler routines using NASM and MMX. Crystal Space is a large open source project. There are about 700 people subscribed to the Crystal Space mailing list (see the Contact Page for more information about how to subscribe).

30 Tipos de Motores Gráficos
Fly3D Características Renderizado en Portales y Sectores Árboles BSP y PVS Sistema de Plugins A* optimizado Detección de colisiones Lightmaps meshes animadas Plataformas Fly3D is a 3D engine for Windows by Fabio Policarpo ( ). Single front-end app supporting OpenGL (1.1) / Direct3D (DirextX 6.1) windowed / full-screen Editor for .fly files with realtime preview in windows explorer style Support for plugin dlls (make new games just writing new plugins) Visual C++ wizard for making fly3d plugins Perspective shaded texture mapping Static and dynamic lightmaps Dynamic shadows and soft-shadows, dynamic lightmap shadows Stencil buffer shadows support Dynamic volumetric fog with fogmaps Detail textures Curved bezier extrudes and lofts with lightmaps BSP/PSV rendering Transparency Volumetric fog using fogmaps Cartoon rendering Faster collision detection Adaptative subdivided bezier surfaces (extrude and loft) Multiplayer support Server frontend for client/server multiplayer Client/server playable deathmatch demo 3D sound support Lighting tool for static level lighting PVS tool for computing visibility 3DS MAX bsp import/export, texture mapping and landscape object plugins Fly3d plugins (jumppads, fogsphere, fogbox, ...) and sample level (q3test2 clone) Quake2 level converter Quake3 level import utility (geometry, textures and curved surfaces) Data files packing Particle systems Console window, also for server frontend Written in C++ (Visual C++ 5.0) Complete SDK with source code for all demo plugins More information, screenshots, the sdk and a demos can be found on the Fly3D Homepage . The engine will be featured in the book 3D Computer Game Technology - Theory and Practice from Alan Watt and Fabio Policarpo (Addion Wesley). Otros

31 Tipos de Motores Gráficos
Fly3D Fly3D is a 3D engine for Windows by Fabio Policarpo ( ). Single front-end app supporting OpenGL (1.1) / Direct3D (DirextX 6.1) windowed / full-screen Editor for .fly files with realtime preview in windows explorer style Support for plugin dlls (make new games just writing new plugins) Visual C++ wizard for making fly3d plugins Perspective shaded texture mapping Static and dynamic lightmaps Dynamic shadows and soft-shadows, dynamic lightmap shadows Stencil buffer shadows support Dynamic volumetric fog with fogmaps Detail textures Curved bezier extrudes and lofts with lightmaps BSP/PSV rendering Transparency Volumetric fog using fogmaps Cartoon rendering Faster collision detection Adaptative subdivided bezier surfaces (extrude and loft) Multiplayer support Server frontend for client/server multiplayer Client/server playable deathmatch demo 3D sound support Lighting tool for static level lighting PVS tool for computing visibility 3DS MAX bsp import/export, texture mapping and landscape object plugins Fly3d plugins (jumppads, fogsphere, fogbox, ...) and sample level (q3test2 clone) Quake2 level converter Quake3 level import utility (geometry, textures and curved surfaces) Data files packing Particle systems Console window, also for server frontend Written in C++ (Visual C++ 5.0) Complete SDK with source code for all demo plugins More information, screenshots, the sdk and a demos can be found on the Fly3D Homepage . The engine will be featured in the book 3D Computer Game Technology - Theory and Practice from Alan Watt and Fabio Policarpo (Addion Wesley).

32 Tipos de Motores Gráficos
Unreal Características Renderizado en Portales y Sectores Árboles BSP, PVS y LOD Sistema de Plugins Detección de colisiones Lightmaps meshes animadas Radiosidad Bumpmapping Phong y Gouraud UnrealScript Raytracing Escalabilidad Mipmapping enveloped lighting Plataformas Otros

33 Tipos de Motores Gráficos
Genesis3D Características Renderizado en Portales. Árboles BSP y LOD Sistema de Plugins Detección de colisiones Radiosidad luces multicolores y dinámicas Plataformas EasyGen3D is an OpenSource wrapper for the Genesis 3D library from Matthew Ellis ( ). Easy setup of Genesis3D Easy scene setup Support for Gravity, Coronas, Electric bolts and dynamic lighting Texture loading C source for Visual C++ 6.0 More information and the SDK can be found on Genesis 3D Homepage. Otros

34 Tipos de Motores Gráficos
Torque V12 Características Renderizado en Portales y Sectores. Meshes LOD Detección de colisiones Radiosidad Texture Mapping MidMapping Lightmaps Plataformas Otros

35 Tipos de Motores Gráficos
Quake2 Características Renderizado en Portales y Sectores Árboles BSP Zbuffering Radiosidad Detección de colisiones Lightmaps Bumpmapping Phong y Gouraud Mipmapping Dll’s Plataformas ID Software's lead programmer John Carmack has released the full source code of Quake, including the WinQuake, GLQuake, QuakeWorld, and GLQuakeWorld versions. Lightmapped, perspective texture mapping Transparency and alpha textures Support for OpenGL BSP and PVS support Surface caching Hierarchical polygonal models Particle systems Collision detection Dynamic lights Multiplayer network support Sound support Console The C/ASM source for Visual C++ 6 is under GPL (gnu public license) The source is available at the Q1 Source Download Homepage. Otros

36 Tipos de Motores Gráficos
Irrlicht Características 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. Plataformas  Multiplataforma Otros

37 Tipos de Motores Gráficos
JPCT Características 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 Plataformas jPCT is a Java 3D engine from Helge Förster ( ). Perspective texture mapping with 16 pixel scanline-subdivision 24 bit RGB perspective correct Gouraud-shading 24 bit textures and framebuffe 32 bit high accuracy W-Buffer Sub-pixel and sub-texel accuracy 2D/3D clipping Any texture-size supported (256*256 used in the demo) 6DOF movement More information and the applet can be found on the Homepage of Helge Förster.  Multiplataforma Otros

38 Tipos de Motores Gráficos
Apocalyx Características Sencillo engine escrito en OpenGL, con algunas características interesantes, como son el interface de scripting LUA, simulación del agua, de ropa… Plataformas Otros

39 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 , 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…)

40 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.


Descargar ppt "Motores Gráficos Informática Gráfica Rubén Talón Argente."

Presentaciones similares


Anuncios Google