Sei sulla pagina 1di 56

Prof. Esmitt Ramrez J.

Creacin de Videojuegos en OpenGL


XII-V-X

Agenda
OpenGL Juegos de Video Modelacin Rendering Iluminacin y Texturas Otros Aspectos Videos Ideas Finales

OpenGL
API para desarrollar aplicaciones interactivas que incluyen grficos 2D y 3D
http://opengl.org

Disponible para desarrolladores en PC, workstations, supercomputadores Software applications, content creation, entertainment, game development, manufacturing, medical applications & virtual reality

OpenGL
Soporte en la mayora de los SO actuales Trabaja con los sistemas de ventana Diversos lenguajes de programacin
Windows 98/Me/NT/2k/XP/Vista/7 Linux: GLX del Servidor X Mac OS X Hardware acceleration = drivers

OpenGL
Language Bindings

Ada

Java Perl
Haskell

PowerBasic
Ruby

Phyton
Delphi/Free Pascal

Visual Basic

OCaml

C++

OpenGL
La ltima versin de OpenGL es la v. 4.0 Versiones anteriores: 1.0, 1.1, 1.2, 1.3, 1.4, 1992 10 Marzo de 2010 1.5, 2.0, 2.1, 3.0, 3.1, 3.2

OpenGL
Libreras para las extensiones (GLEW, Glee) Libreras para grafos de escena (Open Scene Graph, OpenSG, Gizmo3D, etc.) Engines (Panda3D, Delta3D, etc.) Toolkits (ClanLib, FLTK, GLFW, GLUT, SDL, SFML, etc.) Libreras para carga de texturas (DevIL, FreeImage, SOIL, etc.) Libreras para carga de sonidos (OpenAL, SL, Fmod, etc.)

OpenGL

Juegos de Video

Juegos de Video
KISS (Keep it short and simple)

Juegos de Video
KISS (Keep it short and simple) (Keep it simple, stup**)

Juegos de Video
KISS (Keep it short and simple) (Keep it simple, stup**) Research Diseo del Juego Tarjeta de video Motor (Engine) Scenegraph, multi-threading, etc. Implementacin paso a paso Separar Lgica de Rendering

Juegos de Video
El punto clave de un juego es el gameloop

Modelacin

Modelacin

Modelacin

Modelacin

Modelacin

Rendering

Rendering

Rendering

Rendering
OpenGL proveee mltiples herramientas para diversas tcnicas de rendering Blending, Antialiasing, Stencil buffer, Depth buffer, etc.
Navegacin en las escenas

gluLookAt, Quaternions, etc.

Iluminacin y Texturas

Iluminacin y Texturas

Iluminacin y Texturas

La iluminacin puede ser calculada en el GPU (uso de shaders)

Iluminacin y Texturas
Implementacin de Sombras Planares

Iluminacin y Texturas

Iluminacin y Texturas
Sombras Volumtricas

Iluminacin y Texturas

Iluminacin y Texturas

Iluminacin y Texturas

Iluminacin y Texturas
Objeto 3D + Textura = Alto realismo

Iluminacin y Texturas

Iluminacin y Texturas

Resultado ptimo = geometra simple + buena textura

Otros Aspectos
Sonido: OpenAL, Fmod, SL Sound Library, etc.

Otros Aspectos
Deteccin de Colisiones Superficies Ocultas
glEnable(GL_DEPTH_TEST); //Zbuffer glCullFace(GL_BACK); //Backface culling glEnable(GL_CULL_FACE);

Estructuras de aceleracin Gestor de Memoria Multiplayer Simulaciones Fsicas, AI, etc. Shaders

Otros Aspectos
Refraccin, Reflexin Fuego, agua, sistemas de partculas, etc.

Otros Aspectos
El desarrollo de un videjuego siempre debe estar centrado en resultados observables
Modelos + Escena + Iluminacin + Texturas + Sonidos + Efectos

Otros Aspectos
El desarrollo de un videjuego siempre debe estar centrado en resultados observables
Modelos + Escena + Iluminacin + Texturas + Sonidos + Efectos

Videos

Penguin Madness (3 personas)

Videos

Space Explorer (2 personas)

Videos

Runnes and Riddles 5 personas

The Lay of Leithian (3 personas)

Aviso Legal
Ley para la Prohibicin de Videojuegos Blicos y Juguetes Blicos Gaceta Oficial 3 de Diciembre 2009 Nro. 39.320 Captulo I, Artculo 1: prohibir la fabricacin, importacin, distribucin, compra, venta, alquiler y uso de videojuegos blicos y juguetes blicos.
Multa de 2.000 a 4.000 U.T. Sancin con prisin de 3 a 5 aos

Ideas Finales
No es una meta imposible Cada efecto: progrmalo! Despus sabrs como unirlos en un videojuego nete a las comunidades Culmina lo que alguna vez empezaste En cada juego t otro rol es de betatester Soporte continuo de OpenGL para juegos 3D Lo ms importante:

Ideas Finales
No es una meta imposible Cada efecto: programalo! Despus sabrs como unirlos en un videojuego nete a las comunidades Culmina lo que alguna vez empezaste En cada juego t otro rol es de betatester Soporte continuo de OpenGL para juegos 3D Lo ms importante: Divertete!!!

Links de Inters

Libros de Inters
OpenGL Programming Guide, OpenGL SuperBible, OpenGL Shading Language Game Programming Gems (1-7) GPU Gems (1-3) Real Time Rendering Game Physics Engine Development Game Graphics Programming Etc.

Preguntas

http://ccg.ciens.ucv.ve/~esmitt esmitt.ramirez @ciens.ucv.ve @esmittramirez

Gracias
Merci Thanks Obrigado

Talofa

Aguije
Arigato

Dankie

Cheers

Dekuji
Dank U wel

http://ccg.ciens.ucv.ve/~esmitt esmitt.ramirez @ciens.ucv.ve @esmittramirez

Potrebbero piacerti anche