2. Nos enfocaremos en Tendencias en el desarrollo de Motores AAA Entorno de desarrollo que integra o abstrae de forma coherente los componentes críticos necesarios para el desarrollo de un videojuego AAA, con assets 3D, sonido de alta definición para Consolas Next-Gen y PCs de alta gama.
3. Los motores 3D suelen proveer soluciones genéricas para: Editores de mundo Inteligencia Artificial Networking Audio Física de cuerpo rígido Scripting Servicios de Rendering Desarrollo Multiplataforma
4. Ecuación del Rendering 𝐿𝑜𝑥,𝜔,𝜆,𝑡=𝐿𝑒𝒙,𝜔,𝜆,𝑡+ Ω𝑓𝑟𝒙,𝜔′,𝜔,𝜆,𝑡𝐿𝑖(𝒙,𝜔′,𝜆,𝑡)(−𝜔′∙𝒏)ⅆ𝜔′ Source: Immel et al, Kajiya (1986) Y eso que no considera: - Fosforecencia - Fluorescencia - Interferencias - Subsurface Scattering
9. La década en Renderers 560 polygons 4x 256 textures 2,500 polygons 2x 1024 textures 12,000 base 2x 2048 textures
10. Forward Renderers Single Pass Rendering For each Object Render [aplicando todas las luces] Explosión Combinatoria de Shaders Shadow Maps en memoria Ciclos de GPU perdidos - Overdraw y Objetos Invisibles. - Triangulos fuera de la influencia de la luz.
11. Forward Renderers Shaders para cada material y tipo de luz Ciclos de GPU perdidos - Overdraw y Objetos Invisibles. - Triangulos fuera de la influencia de la luz. - Trabajo repetido Multi Pass Rendering For each Light For each Object[afectado por esa luz] framebuffer += Ilum(Object) [contribución de luz]
12. Deffered Renderers For each Object Render de la superficie en el G-Buffer For each Light y Pixel Iluminado Usar G-Buffer para computar iluminación. Agregar resultado al frame buffer. Shaders más sencillos. Escala con el número de pixels iluminados. No soporta objetos transparentes.
13. Killzone 2: Deferred Renderer - RGBA8 para color. - Standard Depth y Stencil Buffer - Normal Buffer - XY Motion Vectors - Specular Exponent - Specular Intensity - Diffuse Color Source: Killzone 2 Renderer
22. Killzone 2: Deferred Renderer Luces renderizadas como geometría. Por cada luz… - Encontrar y marcar los pixels visibles. - Si la luz contribuye a la escena. - Renderizar Shadow Map. - Sumar contribución al framebuffer. Single Pass Forward Renderer para transparencias - Shaders para 4 uberlights. - Sin sombras - Para partículas, vertex lighting.
23. Killzone 2: Deferred Renderer Postprocesamiento para efectos - Corrección de colores - Sombras - Mid-tones - Highlights, etc - Motion Blur, Depth of Field - Lens reflections - Film grain filter
24. Killzone 2: Deferred Renderer Pros: - Estructura de datos comprimida - Muchos atributos extras - Permite MSAA con soporte de hardware - Soporte para muchas luces dinámicas. Contras: - Precisión limitada para rango dinámico - Acumulación de iluminación en gamma space - Se podría usar otro espacio de color (LogLuv) - Descompresión y compresión de atributos. - Todo es renderizado con el mismo modelo de iluminación(phong).
25. Halo Wars Terrain Renderer Engine para Xbox360. Foco en la experiencia visual. Foco en sacar ventaja del hardware. Foco en los avances del género. Bonfire, nuevo estudio, nuevo engine. Source: GDC 2009 The Terrain of Next Gen
27. El terreno ocupa 70% al 98% de la pantalla Eliminar el sistema de acantilados de AOE3. Incrementar 8x la resolución. Permitir full displacement Source: GDC 2009 The Terrain of Next Gen
32. Problemas 400 MB Mayor uso de memoria. 4k x 4k vertices ¿Performance? ¿¿¿En serio??? Creación del Contenido Source: GDC 2009 The Terrain of Next Gen
33. Compresión al rescate Wavelets y DXT Descompresión en GPU Remover alta frecuencia Incrementar el tile spacing y reducir cantidad Densidad máxima 2k x 2k 14 MB Reducir el espacio del mundo Tamaño máximo 1280x1280 Source: GDC 2009 The Terrain of Next Gen
34. Al servicio de Ud!!! Cambio Repentino: Soportar Cámara FPS …Más problemas… Demasiada Densidad Level of Detail Source: GDC 2009 The Terrain of Next Gen
38. Bienvenido al SimRep LOD para simulación VisRep en GPU SimRep en CPU Height Field para Ray Casting 4 versiones a distintas densidades Source: GDC 2009 The Terrain of Next Gen
39.
40.
41.
42.
43. Texturas de 10k x 10k 5 canales de texturas 12 canales de blending No lo suficientemente rápido Composición y Compresión en GPU Manejo de cache “Efficient Cache Replacement using Age and Cost metrics” Game Programming Gems 7 Source: GDC 2009 The Terrain of Next Gen
44.
45.
46.
47.
48. Conclusiones - Los Vector Fields son faciles de implementar - Tesselation por hardware es el futuro de los terrenos. - La separación VisRep y SimRep es genial - Cuidado al incrementar la densidad - Innovar requiere más de una solución. ¿Por que seguimos usando Height Fields? Source: GDC 2009 The Terrain of Next Gen
Notes de l'éditeur
Permite a los programadores y a los artistas tomar decisiones y no pisarse los cayitos…