A technical deep dive into the DX11 rendering in Battlefield 3, the first title to use the new Frostbite 2 Engine. Topics covered include DX11 optimization techniques, efficient deferred shading, high-quality rendering and resource streaming for creating large and highly-detailed dynamic environments on modern PCs.
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
A behind-the-scenes look into the latest renderer technology powering the critically acclaimed DOOM. The lecture will cover how technology was designed for balancing a good visual quality and performance ratio. Numerous topics will be covered, among them details about the lighting solution, techniques for decoupling costs frequency and GCN specific approaches.
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
This lecture covers rendering topics related to Crytek’s latest engine iteration, the technology which powers titles such as Ryse, Warface, and Crysis 3. Among covered topics, Sousa presented SMAA 1TX: an update featuring a robust and simple temporal antialising component; performant and physically-plausible camera related post-processing techniques such as motion blur and depth of field were also covered.
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
This talk covers changes in CryENGINE 3 technology during 2012, with DX11 related topics such as moving to deferred rendering while maintaining backward compatibility on a multiplatform engine, massive vegetation rendering, MSAA support and how to deal with its common visual artifacts, among other topics.
OpenGL 4.4 provides new features for accelerating scenes with many objects, which are typically found in professional visualization markets. This talk will provide details on the usage of the features and their effect on real-life models. Furthermore we will showcase how more work for rendering a scene can be off-loaded to the GPU, such as efficient occlusion culling or matrix calculations.
Video presentation here: http://on-demand.gputechconf.com/gtc/2014/video/S4379-opengl-44-scene-rendering-techniques.mp4
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
A behind-the-scenes look into the latest renderer technology powering the critically acclaimed DOOM. The lecture will cover how technology was designed for balancing a good visual quality and performance ratio. Numerous topics will be covered, among them details about the lighting solution, techniques for decoupling costs frequency and GCN specific approaches.
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
This lecture covers rendering topics related to Crytek’s latest engine iteration, the technology which powers titles such as Ryse, Warface, and Crysis 3. Among covered topics, Sousa presented SMAA 1TX: an update featuring a robust and simple temporal antialising component; performant and physically-plausible camera related post-processing techniques such as motion blur and depth of field were also covered.
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
This talk covers changes in CryENGINE 3 technology during 2012, with DX11 related topics such as moving to deferred rendering while maintaining backward compatibility on a multiplatform engine, massive vegetation rendering, MSAA support and how to deal with its common visual artifacts, among other topics.
OpenGL 4.4 provides new features for accelerating scenes with many objects, which are typically found in professional visualization markets. This talk will provide details on the usage of the features and their effect on real-life models. Furthermore we will showcase how more work for rendering a scene can be off-loaded to the GPU, such as efficient occlusion culling or matrix calculations.
Video presentation here: http://on-demand.gputechconf.com/gtc/2014/video/S4379-opengl-44-scene-rendering-techniques.mp4
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
In this talk, the authors will describe an overview of a different method for deferred lighting approach used in CryENGINE 3, along with an in-depth description of the many techniques used. Original file and videos at http://crytek.com/cryengine/presentations
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
With further advancement in the current console cycle, new tricks are being learned to squeeze the maximum performance out of the hardware. This talk will present how the compute power of the console and PC GPUs can be used to improve the triangle throughput beyond the limits of the fixed function hardware. The discussed method shows a way to perform efficient "just-in-time" optimization of geometry, and opens the way for per-primitive filtering kernels and procedural geometry processing.
Takeaway:
Attendees will learn how to preprocess geometry on-the-fly per frame to improve rendering performance and efficiency.
Intended Audience:
This presentation is targeting seasoned graphics developers. Experience with DirectX 12 and GCN is recommended, but not required.
Bill explains some of the ways that the Vertex Shader can be used to improve performance by taking a fast path through the Vertex Shader rather than generating vertices with other parts of the pipeline in this AMD technology presentation from the 2014 Game Developers Conference in San Francisco March 17-21. Check out more technical presentations at http://developer.amd.com/resources/documentation-articles/conference-presentations/
Course presentation at SIGGRAPH 2014 by Charles de Rousiers and Sébastian Lagarde at Electronic Arts about transitioning the Frostbite game engine to physically-based rendering.
Make sure to check out the 118 page course notes on: http://www.frostbite.com/2014/11/moving-frostbite-to-pbr/
During the last few months, we have revisited the concept of image quality in Frostbite. The core of our approach was to be as close as possible to a cinematic look. We used the concept of reference to evaluate the accuracy of produced images. Physically based rendering (PBR) was the natural way to achieve this. This talk covers all the different steps needed to switch a production engine to PBR, including the small details often bypass in the literature.
The state of the art of real-time PBR techniques allowed us to achieve good overall results but not without production issues. We present some techniques for improving convolution time for image based reflection, proper ambient occlusion handling, and coherent lighting units which are mandatory for level editing.
Moreover, we have managed to reduce the quality gap, highlighted by our systematic reference comparison, in particular related to rough material handling, glossy screen space reflection, and area lighting.
The technical part of PBR is crucial for achieving good results, but represents only the top of the iceberg. Frostbite has become the de facto high-end game engine within Electronic Arts and is now used by a large amount of game teams. Moving all these game teams from “old fashion” lighting to PBR has required a lot of education, which have been done in parallel of the technical development. We have provided editing and validation tools to help the transition of art production. In addition, we have built a flexible material parametrisation framework to adapt to the various authoring tools and game teams’ requirements.
Screen Space Decals in Warhammer 40,000: Space MarinePope Kim
My Siggraph 2012 presentation slides on Screen Space Decals in Warhammer 40,000: Space Marine.
SSD is similar to Deferred Decals, so I focused more on the problems we had and how we solved(or avoided) them
A description of the next-gen rendering technique called Triangle Visibility Buffer. It offers up to 10x - 20x geometry compared to Deferred rendering and much higher resolution. Generally it aligns better with memory access patterns in modern GPUs compared to Deferred Lighting like Clustered Deferred Lighting etc.
This session presents a detailed programmer oriented overview of our SPU based shading system implemented in DICE's Frostbite 2 engine and how it enables more visually rich environments in BATTLEFIELD 3 and better performance over traditional GPU-only based renderers. We explain in detail how our SPU Tile-based deferred shading system is implemented, and how it supports rich material variety, High Dynamic Range Lighting, and large amounts of light sources of different types through an extensive set of culling, occlusion and optimization techniques.
his session presents a detailed overview of the new lighting system implemented in DICEs Frostbite 2 engine and how it enables us to stretch the boundaries of lighting in BATTLEFIELD 3 with its highly dynamic, varied and destructible environments.
BATTLEFIELD 3 goes beyond the lighting limitations found in our previous battlefield games, while avoiding costly and static prebaked lighting without compromising quality.
We discuss the technical implementation of the art direction in BATTLEFIELD 3, the workflows we created for it as well as how all the individual lighting components fit together: deferred rendering, HDR, dynamic radiosity and particle lighting.
Talk by Fabien Christin from DICE at GDC 2016.
Designing a big city that players can explore by day and by night while improving on the unique visual from the first Mirror's Edge game isn't an easy task.
In this talk, the tools and technology used to render Mirror's Edge: Catalyst will be discussed. From the physical sky to the reflection tech, the speakers will show how they tamed the new Frostbite 3 PBR engine to deliver realistic images with stylized visuals.
They will talk about the artistic and technical challenges they faced and how they tried to overcome them, from the simple light settings and Enlighten workflow to character shading and color grading.
Takeaway
Attendees will get an insight of technical and artistic techniques used to create a dynamic time of day system with updating radiosity and reflections.
Intended Audience
This session is targeted to game artists, technical artists and graphics programmers who want to know more about Mirror's Edge: Catalyst rendering technology, lighting tools and shading tricks.
Bindless Deferred Decals in The Surge 2Philip Hammer
These are the slides for my talk at Digital Dragons 2019 in Krakow.
Update: The recordings are online on youtube now:
https://www.youtube.com/watch?v=e2wPMqWETj8
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
In this talk, the authors will describe an overview of a different method for deferred lighting approach used in CryENGINE 3, along with an in-depth description of the many techniques used. Original file and videos at http://crytek.com/cryengine/presentations
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
With further advancement in the current console cycle, new tricks are being learned to squeeze the maximum performance out of the hardware. This talk will present how the compute power of the console and PC GPUs can be used to improve the triangle throughput beyond the limits of the fixed function hardware. The discussed method shows a way to perform efficient "just-in-time" optimization of geometry, and opens the way for per-primitive filtering kernels and procedural geometry processing.
Takeaway:
Attendees will learn how to preprocess geometry on-the-fly per frame to improve rendering performance and efficiency.
Intended Audience:
This presentation is targeting seasoned graphics developers. Experience with DirectX 12 and GCN is recommended, but not required.
Bill explains some of the ways that the Vertex Shader can be used to improve performance by taking a fast path through the Vertex Shader rather than generating vertices with other parts of the pipeline in this AMD technology presentation from the 2014 Game Developers Conference in San Francisco March 17-21. Check out more technical presentations at http://developer.amd.com/resources/documentation-articles/conference-presentations/
Course presentation at SIGGRAPH 2014 by Charles de Rousiers and Sébastian Lagarde at Electronic Arts about transitioning the Frostbite game engine to physically-based rendering.
Make sure to check out the 118 page course notes on: http://www.frostbite.com/2014/11/moving-frostbite-to-pbr/
During the last few months, we have revisited the concept of image quality in Frostbite. The core of our approach was to be as close as possible to a cinematic look. We used the concept of reference to evaluate the accuracy of produced images. Physically based rendering (PBR) was the natural way to achieve this. This talk covers all the different steps needed to switch a production engine to PBR, including the small details often bypass in the literature.
The state of the art of real-time PBR techniques allowed us to achieve good overall results but not without production issues. We present some techniques for improving convolution time for image based reflection, proper ambient occlusion handling, and coherent lighting units which are mandatory for level editing.
Moreover, we have managed to reduce the quality gap, highlighted by our systematic reference comparison, in particular related to rough material handling, glossy screen space reflection, and area lighting.
The technical part of PBR is crucial for achieving good results, but represents only the top of the iceberg. Frostbite has become the de facto high-end game engine within Electronic Arts and is now used by a large amount of game teams. Moving all these game teams from “old fashion” lighting to PBR has required a lot of education, which have been done in parallel of the technical development. We have provided editing and validation tools to help the transition of art production. In addition, we have built a flexible material parametrisation framework to adapt to the various authoring tools and game teams’ requirements.
Screen Space Decals in Warhammer 40,000: Space MarinePope Kim
My Siggraph 2012 presentation slides on Screen Space Decals in Warhammer 40,000: Space Marine.
SSD is similar to Deferred Decals, so I focused more on the problems we had and how we solved(or avoided) them
A description of the next-gen rendering technique called Triangle Visibility Buffer. It offers up to 10x - 20x geometry compared to Deferred rendering and much higher resolution. Generally it aligns better with memory access patterns in modern GPUs compared to Deferred Lighting like Clustered Deferred Lighting etc.
This session presents a detailed programmer oriented overview of our SPU based shading system implemented in DICE's Frostbite 2 engine and how it enables more visually rich environments in BATTLEFIELD 3 and better performance over traditional GPU-only based renderers. We explain in detail how our SPU Tile-based deferred shading system is implemented, and how it supports rich material variety, High Dynamic Range Lighting, and large amounts of light sources of different types through an extensive set of culling, occlusion and optimization techniques.
his session presents a detailed overview of the new lighting system implemented in DICEs Frostbite 2 engine and how it enables us to stretch the boundaries of lighting in BATTLEFIELD 3 with its highly dynamic, varied and destructible environments.
BATTLEFIELD 3 goes beyond the lighting limitations found in our previous battlefield games, while avoiding costly and static prebaked lighting without compromising quality.
We discuss the technical implementation of the art direction in BATTLEFIELD 3, the workflows we created for it as well as how all the individual lighting components fit together: deferred rendering, HDR, dynamic radiosity and particle lighting.
Talk by Fabien Christin from DICE at GDC 2016.
Designing a big city that players can explore by day and by night while improving on the unique visual from the first Mirror's Edge game isn't an easy task.
In this talk, the tools and technology used to render Mirror's Edge: Catalyst will be discussed. From the physical sky to the reflection tech, the speakers will show how they tamed the new Frostbite 3 PBR engine to deliver realistic images with stylized visuals.
They will talk about the artistic and technical challenges they faced and how they tried to overcome them, from the simple light settings and Enlighten workflow to character shading and color grading.
Takeaway
Attendees will get an insight of technical and artistic techniques used to create a dynamic time of day system with updating radiosity and reflections.
Intended Audience
This session is targeted to game artists, technical artists and graphics programmers who want to know more about Mirror's Edge: Catalyst rendering technology, lighting tools and shading tricks.
Bindless Deferred Decals in The Surge 2Philip Hammer
These are the slides for my talk at Digital Dragons 2019 in Krakow.
Update: The recordings are online on youtube now:
https://www.youtube.com/watch?v=e2wPMqWETj8
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
Presented as a pre-conference tutorial at the GPU Technology Conference in San Jose on September 20, 2010.
Learn about NVIDIA's OpenGL 4.1 functionality available now on Fermi-based GPUs.
FlameWorks presentation from NVIDIA GTC 2014.
Learn how to add volumetric effects to your game engine - smoke, fire and explosions that are interactive, more realistic, and can actually render faster than traditional sprite-based techniques. Volumetrics remain one of the last big differences between real-time and offline visual effects. In this talk we will show how volumetric effects are now practical on current GPU hardware. We will describe several new simulation and rendering techniques, including new solvers, combustion models, optimized ray marching and shadows, which together can make volumetric effects a practical alternative to particle-based methods for game effects.
This is a presentation about the basics of rendering, which was made with an intention to help people, who work with real-time graphics applications, understand the steps we need to perform in order to produce the image on the screen.
FGS 2011: Making A Game With Molehill: Zombie Tycoonmochimedia
Luc Beaulieu and Jean-Philipe Auclair from Frima Studio share their experience working with Adobe's new Molehill API's in making their new game "Zombie Tycoon".
GDC2019 - SEED - Towards Deep Generative Models in Game DevelopmentElectronic Arts / DICE
Deep learning is becoming ubiquitous in Machine Learning (ML) research, and it's also finding its place in industry-related applications. Specifically, deep generative models have proven incredibly useful at generating and remixing realistic content from scratch, making themselves a very appealing technology in the field of AI-enhanced content authoring. As part of this year's Machine Learning Tutorial at the Game Developers Conference 2019 (GDC), Jorge Del Val from SEED will cover in an accessible manner the fundamentals of deep generative modeling, including some common algorithms and architectures. He will also discuss applications to game development and explore some recent advances in the field.
The attendee will gain basic understanding of the fundamentals of generative models and how to implement them. Also, attendees will grasp potential applications in the field of game development to inspire their work and companies. This talk does not require a mathematical or machine learning background, although previous knowledge on either of those is beneficial.
Henrik Halén (Lead Rendering Programmer) at Electronic Arts presented "Style and Gameplay in the Mirror's Edge" at SIGGRAPH 2010's Stylized Rendering in Games. https://www.cs.williams.edu/~morgan/SRG10/
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray TracingElectronic Arts / DICE
Graham Wihlidal and Colin Barré-Brisebois of SEED attended SyysGraph 2018 in Helsinki and presented to the group. The first section described aspects of Halcyon's rendering architecture, including information on explicit heterogeneous and virtual multi-GPU, render graph, and the remote render proxy backend. The second section discussed real-time ray tracing approaches and current open problems. The following day, this presentation was also given as a lecture at Aalto University.
Graham Wihlidal from SEED attended the Munich Khronos Meetup and presented some aspects of Halcyon's rendering architecture, as well as details of the Vulkan implementation. Graham presented components like high-level render command translation, render graph, and shader compilation.
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time RaytracingElectronic Arts / DICE
Real-time raytracing holds the promise of simplifying rendering pipelines, eliminating artist-intensive workflows, and ultimately delivering photorealistic images. This talk by Tomasz Stachowiak provides a glimpse of the future through the lens of SEED's PICA PICA demo: a game made for artificial intelligence agents, with procedural level assembly, and no precomputation. We dive into technical details of several advanced rendering algorithms, and discuss how Microsoft's DirectX Raytracing technology allows for their intuitive implementation. Several challenges remain -- we will take a look at some of them, discuss how real-time raytracing fits in the spectrum of solutions, and start to plot the course towards robust and artist-friendly image synthesis.
CEDEC 2018 - Functional Symbiosis of Art Direction and ProceduralismElectronic Arts / DICE
This talk by SEED's Anastasia Opara covers the approach for procedural layout generation and placement in Project PICA PICA. The project posed a unique challenge as the levels were not created for humans, but for self-learning AI agents. Therefore, the level system had be flexible to meet the agents’ needs and ensure navigability, gameplay elements as well as adhere to the art direction.
We used Houdini from the very early stages to the final release: from co-creating art-direction to exporting final levels into our in-house RnD engine Halcyon. From this talk, you will learn how in a team of only 3 artists we created a functional symbiosis of art direction and procedural system in under 2 months as well as what challenges and solutions we had during our ‘procedural journey’.
At SIGGRAPH 2018, Colin Barré-Brisebois presented PICA PICA running on NVIDIA's new Turing architecture, with performance comparisons with Volta. Developed by Henrik Halén of SEED a technique for real-time raytraced transparent shadows was also presented, as well as an experiment with rough glass.
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingElectronic Arts / DICE
In this presentation part of the "Introduction to DirectX Raytracing" course, Colin Barré-Brisebois of SEED discusses some of the challenges the team had to go through when going from raster to real-time raytracing for Project PICA PICA.
For this year's keynote at High Performance Graphics 2018, Colin Barré-Brisebois from SEED discussed the state of the art in real-time game ray tracing. He explored some of the connections between offline and real-time game ray tracing, and presented some of the open problems. Colin exposed a few potential solutions to those problems, and also proposed a call-to-arms on topics where the ray tracing research community and the games industry should unite in order to solve such open problems.
EPC 2018 - SEED - Exploring The Collaboration Between Proceduralism & Deep Le...Electronic Arts / DICE
Proceduralism is a powerful language of rules, dependencies and patterns that can generate content indistinguishable from a manually produced one. Yet there are new opportunities that hold a great potential to enhance the existing techniques. In this talk, SEED's Anastasia Opara shares some of the early tests of marrying Proceduralism and Deep Learning and discusses how it can contribute to the current workflows.
You can view a recording of the presentation from 2018's Everything Procedural Conference here:
https://www.youtube.com/watch?v=dpYwLny0P8M
This talk provides additional details around the hybrid real-time rendering pipeline we developed at SEED for Project PICA PICA.
At Digital Dragons 2018, we presented how leveraging Microsoft's DirectX Raytracing enables intuitive implementations of advanced lighting effects, including soft shadows, reflections, refractions, and global illumination. We also dove into the unique challenges posed by each of those domains, discussed the tradeoffs, and evaluated where raytracing fits in the spectrum of solutions.
Human mechanisms of representing the surrounding world in a form of ‘language’ is an outstanding ability that enables us to store the information as internal compact abstractions. Proceduralism is also a form of language, where we view the world through rules, dependencies and patterns. And though rules are often perceived as something rigid, their engineering is a fluid and creative task, where analyzing our own thought framework often fuels the design process.
In this talk, we present results from the real-time raytracing research done at SEED, a cross-disciplinary team working on cutting-edge, future graphics technologies and creative experiences at Electronic Arts. We explain in detail several techniques from “PICA PICA”, a real-time raytracing experiment featuring a mini-game for self-learning AI agents in a procedurally-assembled world. The approaches presented here are intended to inspire developers and provide a glimpse of a future where real-time raytracing powers the creative experiences of tomorrow.
The past few years have seen a sharp increase in the complexity of rendering algorithms used in modern game engines. Large portions of the rendering work are increasingly written in GPU computing languages, and decoupled from the conventional “one-to-one” pipeline stages for which shading languages were designed. Following Tim Foley’s talk from SIGGRAPH 2016’s Open Problems course on shading language directions, we explore example rendering algorithms that we want to express in a composable, reusable and performance-portable manner. We argue that a few key constraints in GPU computing languages inhibit these goals, some of which are rooted in hardware limitations. We conclude with a call to action detailing specific improvements we would like to see in GPU compute languages, as well as the underlying graphics hardware.
This talk was originally given at SIGGRAPH 2017 by Andrew Lauritzen (EA SEED) for the Open Problems in Real-Time Rendering course.
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
Global illumination (GI) has been an ongoing quest in games. The perpetual tug-of-war between visual quality and performance often forces developers to take the latest and greatest from academia and tailor it to push the boundaries of what has been realized in a game product. Many elements need to align for success, including image quality, performance, scalability, interactivity, ease of use, as well as game-specific and production challenges.
First we will paint a picture of the current state of global illumination in games, addressing how the state of the union compares to the latest and greatest research. We will then explore various GI challenges that game teams face from the art, engineering, pipelines and production perspective. The games industry lacks an ideal solution, so the goal here is to raise awareness by being transparent about the real problems in the field. Finally, we will talk about the future. This will be a call to arms, with the objective of uniting game developers and researchers on the same quest to evolve global illumination in games from being mostly static, or sometimes perceptually real-time, to fully real-time.
This presentation was given at SIGGRAPH 2017 by Colin Barré-Brisebois (EA SEED) as part of the Open Problems in Real-Time Rendering course.
This talk presents the approach Frostbite took to add support for HDR displays. It will summarize Frostbite's previous post processing pipeline and what the issues were. Attendees will learn the decisions made to fix these issues, improve the color grading workflow and support high quality HDR and SDR output. This session will detail the display mapping used to implement the"grade once, output many" approach to targeting any display and why an ad-hoc approach as opposed to filmic tone mapping was chosen. Frostbite retained 3D LUT-based grading flexibility and the accuracy differences of computing these in decorrelated color spaces will be shown. This session will also include the main issues found on early adopter games, differences between HDR standards, optimizations to achieve performance parity with the legacy path and why supporting HDR can also improve the SDR version.
Takeaway
Attendees will learn how and why Frostbite chose to support High Dynamic Range [HDR] displays. They will understand the issues faced and how these were resolved. This talk will be useful for those still to support HDR and provide discussion points for those who already do.
Intended Audience
The intended audience is primarily rendering engineers, technical artists and artists; specifically those who focus on grading and lighting and those interested in HDR displays. Ideally attendees will be familiar with color grading and tonemapping.
Talk by Graham Wihlidal (Frostbite Labs) at GDC 2017.
Checkerboard rendering is a relatively new technique, popularized recently by the introduction of the PlayStation 4 Pro. Many modern game engines are adding support for it right now, and in this talk, Graham will present an in-depth look at the new implementation in Frostbite, which is used in shipping titles like 'Battlefield 1' and 'Mass Effect Andromeda'. Despite being conceptually simple, checkerboard rendering requires a deep integration into the post-processing chain, in particular temporal anti-aliasing, dynamic resolution scaling, and poses various challenges to existing effects. This presentation will cover the basics of checkerboard rendering, explain the impact on a game engine that powers a wide range of titles, and provide a detailed look at how the current implementation in Frostbite works, including topics like object id, alpha unrolling, gradient adjust, and a highly efficient depth resolve.
Presentation by Andrew Hamilton and Ken Brown from DICE at GDC 2016.
Photogrammetry has started to gain steam within the Games Industry in recent years. At DICE, this technique was first used on Battlefield and they fully embraced the technology and workflow for Star Wars: Battlefront. This talk will cover their research and development, planning and production, techniques, key takeaways and plans for the future. The speakers will cover photogrammetry as a technology, but more than that, show that it's not a magic bullet but instead a tool like any other that can be used to help achieve your artistic vision and craft.
Takeaway
Come and learn how (and why) photogrammetry was used to create the world of Star Wars. This talk will cover Battlefront's use of of the technology from pre-production to launch as well as some of their philosophies around photogrammetry as a tool. Many visuals will be included!
Intended Audience
A content creator friendly talk intended for pretty much any developer, especially those involved in 3D content creation. It is not a technical talk focused on the code or engineering of photogrammetry. The speakers will quickly cover all basics, so absolutely no prerequisite knowledge required.
As a film director, I have always been awestruck by the magic of animation. Animation, a medium once considered solely for the amusement of children, has undergone a significant transformation over the years. Its evolution from a rudimentary form of entertainment to a sophisticated form of storytelling has stirred my creativity and expanded my vision, offering limitless possibilities in the realm of cinematic storytelling.
In the vast landscape of cinema, stories have been told, retold, and reimagined in countless ways. At the heart of this narrative evolution lies the concept of a "remake". A successful remake allows us to revisit cherished tales through a fresh lens, often reflecting a different era's perspective or harnessing the power of advanced technology. Yet, the question remains, what makes a remake successful? Today, we will delve deeper into this subject, identifying the key ingredients that contribute to the success of a remake.
Lite version of elevator game simplified.pptxeinarsvan32
This is the lite, short and simplified version of elevator game I created. If you want the longer version, just wait and stay tuned for it! Hehe I hope you like my content I made!
- Einar
Skeem Saam in June 2024 available on ForumIsaac More
Monday, June 3, 2024 - Episode 241: Sergeant Rathebe nabs a top scammer in Turfloop. Meikie is furious at her uncle's reaction to the truth about Ntswaki.
Tuesday, June 4, 2024 - Episode 242: Babeile uncovers the truth behind Rathebe’s latest actions. Leeto's announcement shocks his employees, and Ntswaki’s ordeal haunts her family.
Wednesday, June 5, 2024 - Episode 243: Rathebe blocks Babeile from investigating further. Melita warns Eunice to stay clear of Mr. Kgomo.
Thursday, June 6, 2024 - Episode 244: Tbose surrenders to the police while an intruder meddles in his affairs. Rathebe's secret mission faces a setback.
Friday, June 7, 2024 - Episode 245: Rathebe’s antics reach Kganyago. Tbose dodges a bullet, but a nightmare looms. Mr. Kgomo accuses Melita of witchcraft.
Monday, June 10, 2024 - Episode 246: Ntswaki struggles on her first day back at school. Babeile is stunned by Rathebe’s romance with Bullet Mabuza.
Tuesday, June 11, 2024 - Episode 247: An unexpected turn halts Rathebe’s investigation. The press discovers Mr. Kgomo’s affair with a young employee.
Wednesday, June 12, 2024 - Episode 248: Rathebe chases a criminal, resorting to gunfire. Turf High is rife with tension and transfer threats.
Thursday, June 13, 2024 - Episode 249: Rathebe traps Kganyago. John warns Toby to stop harassing Ntswaki.
Friday, June 14, 2024 - Episode 250: Babeile is cleared to investigate Rathebe. Melita gains Mr. Kgomo’s trust, and Jacobeth devises a financial solution.
Monday, June 17, 2024 - Episode 251: Rathebe feels the pressure as Babeile closes in. Mr. Kgomo and Eunice clash. Jacobeth risks her safety in pursuit of Kganyago.
Tuesday, June 18, 2024 - Episode 252: Bullet Mabuza retaliates against Jacobeth. Pitsi inadvertently reveals his parents’ plans. Nkosi is shocked by Khwezi’s decision on LJ’s future.
Wednesday, June 19, 2024 - Episode 253: Jacobeth is ensnared in deceit. Evelyn is stressed over Toby’s case, and Letetswe reveals shocking academic results.
Thursday, June 20, 2024 - Episode 254: Elizabeth learns Jacobeth is in Mpumalanga. Kganyago's past is exposed, and Lehasa discovers his son is in KZN.
Friday, June 21, 2024 - Episode 255: Elizabeth confirms Jacobeth’s dubious activities in Mpumalanga. Rathebe lies about her relationship with Bullet, and Jacobeth faces theft accusations.
Monday, June 24, 2024 - Episode 256: Rathebe spies on Kganyago. Lehasa plans to retrieve his son from KZN, fearing what awaits.
Tuesday, June 25, 2024 - Episode 257: MaNtuli fears for Kwaito’s safety in Mpumalanga. Mr. Kgomo and Melita reconcile.
Wednesday, June 26, 2024 - Episode 258: Kganyago makes a bold escape. Elizabeth receives a shocking message from Kwaito. Mrs. Khoza defends her husband against scam accusations.
Thursday, June 27, 2024 - Episode 259: Babeile's skillful arrest changes the game. Tbose and Kwaito face a hostage crisis.
Friday, June 28, 2024 - Episode 260: Two women face the reality of being scammed. Turf is rocked by breaking
Hollywood Actress - The 250 hottest galleryZsolt Nemeth
Hollywood Actress amazon album eminent worldwide media, female-singer, actresses, alhletina-woman, 250 collection.
Highest and photoreal-print exclusive testament PC collage.
Focused television virtuality crime, novel.
The sheer afterlife of the work is activism-like hollywood-actresses point com.
173 Illustrate, 250 gallery, 154 blog, 120 TV serie logo, 17 TV president logo, 183 active hyperlink.
HD AI face enhancement 384 page plus Bowker ISBN, Congress LLCL or US Copyright.
Scandal! Teasers June 2024 on etv Forum.co.zaIsaac More
Monday, 3 June 2024
Episode 47
A friend is compelled to expose a manipulative scheme to prevent another from making a grave mistake. In a frantic bid to save Jojo, Phakamile agrees to a meeting that unbeknownst to her, will seal her fate.
Tuesday, 4 June 2024
Episode 48
A mother, with her son's best interests at heart, finds him unready to heed her advice. Motshabi finds herself in an unmanageable situation, sinking fast like in quicksand.
Wednesday, 5 June 2024
Episode 49
A woman fabricates a diabolical lie to cover up an indiscretion. Overwhelmed by guilt, she makes a spontaneous confession that could be devastating to another heart.
Thursday, 6 June 2024
Episode 50
Linda unwittingly discloses damning information. Nhlamulo and Vuvu try to guide their friend towards the right decision.
Friday, 7 June 2024
Episode 51
Jojo's life continues to spiral out of control. Dintle weaves a web of lies to conceal that she is not as successful as everyone believes.
Monday, 10 June 2024
Episode 52
A heated confrontation between lovers leads to a devastating admission of guilt. Dintle's desperation takes a new turn, leaving her with dwindling options.
Tuesday, 11 June 2024
Episode 53
Unable to resort to violence, Taps issues a verbal threat, leaving Mdala unsettled. A sister must explain her life choices to regain her brother's trust.
Wednesday, 12 June 2024
Episode 54
Winnie makes a very troubling discovery. Taps follows through on his threat, leaving a woman reeling. Layla, oblivious to the truth, offers an incentive.
Thursday, 13 June 2024
Episode 55
A nosy relative arrives just in time to thwart a man's fatal decision. Dintle manipulates Khanyi to tug at Mo's heartstrings and get what she wants.
Friday, 14 June 2024
Episode 56
Tlhogi is shocked by Mdala's reaction following the revelation of their indiscretion. Jojo is in disbelief when the punishment for his crime is revealed.
Monday, 17 June 2024
Episode 57
A woman reprimands another to stay in her lane, leading to a damning revelation. A man decides to leave his broken life behind.
Tuesday, 18 June 2024
Episode 58
Nhlamulo learns that due to his actions, his worst fears have come true. Caiphus' extravagant promises to suppliers get him into trouble with Ndu.
Wednesday, 19 June 2024
Episode 59
A woman manages to kill two birds with one stone. Business doom looms over Chillax. A sobering incident makes a woman realize how far she's fallen.
Thursday, 20 June 2024
Episode 60
Taps' offer to help Nhlamulo comes with hidden motives. Caiphus' new ideas for Chillax have MaHilda excited. A blast from the past recognizes Dintle, not for her newfound fame.
Friday, 21 June 2024
Episode 61
Taps is hungry for revenge and finds a rope to hang Mdala with. Chillax's new job opportunity elicits mixed reactions from the public. Roommates' initial meeting starts off on the wrong foot.
Monday, 24 June 2024
Episode 62
Taps seizes new information and recruits someone on the inside. Mary's new job
Panchayat Season 3 - Official Trailer.pdfSuleman Rana
The dearest series "Panchayat" is set to make a victorious return with its third season, and the fervor is discernible. The authority trailer, delivered on May 28, guarantees one more enamoring venture through the country heartland of India.
Jitendra Kumar keeps on sparkling as Abhishek Tripathi, the city-reared engineer who ends up functioning as the secretary of the Panchayat office in the curious town of Phulera. His nuanced depiction of a young fellow exploring the difficulties of country life while endeavoring to adjust to his new environmental factors has earned far and wide recognition.
Neena Gupta and Raghubir Yadav return as Manju Devi and Brij Bhushan Dubey, separately. Their dynamic science and immaculate acting rejuvenate the hardships of town administration. Gupta's depiction of the town Pradhan with an ever-evolving outlook, matched with Yadav's carefully prepared exhibition, adds profundity and credibility to the story.
New Difficulties and Experiences
The trailer indicates new difficulties anticipating the characters, as Abhishek keeps on wrestling with his part in the town and his yearnings for a superior future. The series has reliably offset humor with social editorial, and Season 3 looks ready to dig much more profound into the intricacies of rustic organization and self-awareness.
Watchers can hope to see a greater amount of the enchanting and particular residents who have become fan top picks. Their connections and the one of a kind cut of-life situations give a reviving and interesting portrayal of provincial India, featuring the two its appeal and its difficulties.
A Mix of Humor and Heart
One of the signs of "Panchayat" is its capacity to mix humor with sincere narrating. The trailer features minutes that guarantee to convey giggles, as well as scenes that pull at the heartstrings. This equilibrium has been a critical calculate the show's prosperity, resounding with crowds across different socioeconomics.
Creation Greatness
The creation quality remaining parts first rate, with the beautiful setting of Phulera town filling in as a scenery that upgrades the narrating. The meticulousness in portraying provincial life, joined with sharp composition and solid exhibitions, guarantees that "Panchayat" keeps on hanging out in the packed web series scene.
Expectation and Delivery
As the delivery date draws near, expectation for "Panchayat" Season 3 is at a record-breaking high. The authority trailer has previously created critical buzz, with fans enthusiastically anticipating the continuation of Abhishek Tripathi's excursion and the new undertakings that lie ahead in Phulera.
All in all, the authority trailer for "Panchayat" Season 3 recommends that watchers are in for another drawing in and engaging ride. Yet again with its charming characters, convincing story, and ideal mix of humor and show, the new season is set to enamor crowds. Write in your schedules and prepare to get back to the endearing universe of "Panchayat."
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfXtreame HDTV
In today’s digital age, streaming services have become an integral part of our entertainment lives. Among the myriad of options available, XCIPTV stands out as a premier choice for those seeking seamless, high-quality streaming. This comprehensive guide will delve into the features, benefits, and user experience of XCIPTV, illustrating why it is a top contender in the IPTV industry.
Meet Crazyjamjam - A TikTok Sensation | Blog EternalBlog Eternal
Crazyjamjam, the TikTok star everyone's talking about! Uncover her secrets to success, viral trends, and more in this exclusive feature on Blog Eternal.
Source: https://blogeternal.com/celebrity/crazyjamjam-leaks/
4. Battlefield 3 FPS Fall 2011 DX11, Xbox 360 and PS3 Frostbite 2 engine
5. Frostbite 2 Developed for Battlefield 3 and future DICE/EA games Massive focus on creating simple to use & powerful workflows Major pushes in animation, destruction, streaming, rendering, lightingand landscapes
6. DX11 DX11 API only Requires a DX10 or DX11 GPUs Requires Vista SP1 or Windows 7 No Windows XP! Why? CPU performance win GPU performance & quality win Ease ofdevelopment - no legacy Future proof BF3 is a big title - will drive OS & HW adoption Which is good for your game as well!
7. Options for rendering Switched to Deferred Shading in FB2 Rich mix of Outdoor + Indoor + Urban environments in BF3 Wanted lots more light sources Why not Forward Rendering? Light culling / shader permutations not efficient for us Expensive & more difficultdecaling / destruction masking Why not Light Pre-pass? 2x geometry pass too expensive on both CPU & GPU for us Was able to generalize our BRDF enough to just a few variations Saw major potential in full tile-based deferred shading See also: Nicolas Thibieroz’s talk ”Deferred Shading Optimizations”
8. Deferred Shading Weaknesses with traditional deferred lighting/shading: Massive overdraw & ROP cost when having lots of big light sources Expensive to have multiple per-pixel materials in light shaders MSAA lighting can be slow (non-coherent, extra BW)
10. Tile-based Deferred Shading 1. Divide screen into tiles and determine which lights affects which tiles 2. Only apply the visible light sources on pixels Custom shader with multiple lights Reduced bandwidth & setup cost How can we do this best in DX11?
11. Lighting with Compute Shader Tile-based Deferred Shading using Compute Shaders Primarily for analytical light sources Point lights, cone lights, line lights No shadows Requires Compute Shader 5.0 Hybrid Graphics/Compute shading pipeline: Graphics pipeline rasterizes gbuffers for opaque surfaces Compute pipeline uses gbuffers, culls lights, computes lighting & combines with shading Graphics pipeline renders transparent surfaces on top
13. groupshared uint minDepthInt; groupshared uint maxDepthInt; // --- globals above, function below ------- float depth = depthTexture.Load(uint3(texCoord, 0)).r; uint depthInt = asuint(depth); minDepthInt = 0xFFFFFFFF; maxDepthInt = 0; GroupMemoryBarrierWithGroupSync(); InterlockedMin(minDepthInt, depthInt); InterlockedMax(maxDepthInt, depthInt); GroupMemoryBarrierWithGroupSync(); float minGroupDepth = asfloat(minDepthInt); float maxGroupDepth = asfloat(maxDepthInt); CS steps 1-2 1. Load gbuffers & depth 2. Calculate min & max z in threadgroup / tile Using InterlockedMin/Max on groupshared variable Atomics only work on ints Can cast float to int (z is always +)
14. CS step 3 – Culling Determine visible light sources for each tile Cull all light sources against tile frustum Input (global): Light list, frustum& SW occlusionculled Output (per tile): # of visible light sources Index list of visible light sources Per-tile visible light count (black = 0 lights, white = 40)
15. struct Light { float3 pos; float sqrRadius; float3 color; float invSqrRadius; }; int lightCount; StructuredBuffer<Light> lights; groupshared uint visibleLightCount = 0; groupshared uint visibleLightIndices[1024]; // --- globals above, cont. function below --- uint threadCount = BLOCK_SIZE*BLOCK_SIZE; uint passCount = (lightCount+threadCount-1) / threadCount; for (uint passIt = 0; passIt < passCount; ++passIt) { uint lightIndex = passIt*threadCount + groupIndex; // prevent overrun by clamping to a last ”null” light lightIndex = min(lightIndex, lightCount); if (intersects(lights[lightIndex], tile)) { uint offset; InterlockedAdd(visibleLightCount, 1, offset); visibleLightIndices[offset] = lightIndex; } } GroupMemoryBarrierWithGroupSync(); 3a. Each thread switches to process lights instead of pixels Wow, parallelism switcharoo! 256 light sources in parallel Multiple iterations for >256 lights 3b. Intersect light and tile Multiple variants – accuracy vsperf Tile min & max z is used as a ”depth bounds” test 3c. Append visible light indices to list Atomic add to threadgroup shared memory ”inlined stream compaction” 3d. Switch back to processing pixels Synchronize the thread group We now know which light sources affect the tile CS step 3 – Impl
16. CS deferred shading final steps 4. For each pixel, accumulate lighting from visible lights Read from tile visible light index list in groupshared memory 5. Combine lighting & shadingalbedos Output is non-MSAA HDR texture Render transparent surfaces on top Computed lighting float3 color = 0; for (uintlightIt = 0; lightIt < visibleLightCount; ++lightIt) { uintlightIndex = visibleLightIndices[lightIt]; Lightlight = lights[lightIndex]; color += diffuseAlbedo * evaluateLightDiffuse(light, gbuffer); color += specularAlbedo * evaluateLightSpecular(light, gbuffer); }
18. MSAA Compute Shader Lighting Only edge pixels need full per-sample lighting But edges have bad screen-space coherency! Inefficient Compute Shader can build efficient coherent pixel list Evaluate lighting for each pixel (sample 0) Determine if pixel requires per-sample lighting If so, add to atomic list in shared memory When all pixels are done, synchronize Go through and light sample 1-3 for pixels in list Major performance improvement! Described in detail in [Lauritzen10]
20. Terrain rendering Battlefield 3 terrains Huge area & massive view distances Dynamic destructible heightfields Procedural virtual texturing Streamed heightfields, colormaps, masks Full details at at a later conference We stream in source heightfield data at close to pixel ratio Derive high-quality per-pixel normals in shader How can we increase detail even further on DX11? Create better silhouettes and improved depth Keep small-scale detail (dynamic craters & slopes)
24. Terrain Displacement Mapping Straight high-res heightfields, no procedural detail Lots of data in the heightfields Pragmatic & simple choice No changes in physics/collisions No content changes, artists see the true detail they created Uses DX11 fixed edge tessellation factors Stable, no swimming vertices Though can be wasteful Height morphing for streaming by fetching 2 heightfields in domain shader & blend based on patch CLOD factor More work left to figure optimal tessellation scheme for our use case
25. Stereo 3D rendering in DX11 Nvidia’s 3D Visiondrivers is a good and almost automatic stereo 3D rendering method But only for forward rendering, doesn’t work with deferred shading Or on AMD or Intel GPUs Transparent surfaces do not get proper 3D depth We instead use explicit 3D stereo rendering Render unique frame for each eye Works with deferred shading & includes all surfaces Higher performance requirements, 2x draw calls Works with Nvidia’s 3D Vision and AMD’s HD3D Similar to OpenGL quad buffer support Ask your friendly IHV contact how
27. Instancing Draw calls can still be major performance bottleneck Lots of materials / lots of variation Complex shadowmaps High detail / long view distances Full 3D stereo rendering Battlefield have lots of use cases for heavy instancing Props, foliage, debris, destruction, mesh particles Batching submissions is still important, just as before! Richard Huddy: ”Batch batch batch!”
28. Instancing in DirectX DX9-style stream instancing is good, but restrictive Extra vertex attributes, GPU overhead Can’t be (efficiently) combined with skinning Used primarily for tiny meshes (particles, foliage) DX10/DX11 brings support for shader Buffer objects Vertex shaders have access to SV_InstanceID Can do completely arbitrary loads, not limited to fixed elements Can support per-instance arrays and other data structures! Let’s rethink how instancing can be implemented..
29. Instancing data Multiple object types Rigid / skinned / composite meshes Multiple object lighting types Small/dynamic: light probes Large/static: light maps Different types of instancing data we have Transform float4x3 Skinning transforms float4x3 array SH light probe float4 x 4 Lightmap UV scale/offset float4 Let’s pack all instancing data into single big buffer!
32. Instancing benefits Single draw call per object type instead of per instance Minor GPU hit for big CPU gain Instancing does not break when skinning parts More deterministic & better overall performance End result is typically 1500-2000 draw calls Regardless of how many object instances the artists place! Instead of 3000-7000 draw calls in some heavy cases
33. Parallel Dispatch in Theory Great key DX11 feature! Improve performance by scaling dispatching to D3D to more cores Reduce frame latency How we use it: DX11 deferred context per HW thread Renderer builds list of all draw calls we want to do for each rendering ”layer” of the frame Split draw calls for each layer into chunks of ~256 Dispatch chunks in parallel to the deferred contexts to generate command lists Render to immediate context & execute command lists Profit! * * but theory != practice
34. Parallel Dispatch in Practice Still no performant drivers available for our use case Have waited for 2 years and still are Big driver codebases takes time to refactor IHVs vs Microsoft quagmire Heavy driver threads collide with game threads How it should work (an utopia?) Driver does not create any processing threads of its own Game submits workload in parallel to multiple deferred contexts Driver make sure almost all processing required happens on the draw call on the deferred context Game dispatches command list on immediate context, driver does absolute minimal work with it Still good to design engine for + instancing is great! quagmire [ˈkwægˌmaɪə ˈkwɒg-]n 1. (Earth Sciences / Physical Geography) a soft wet area of land that gives way under the feet; bog 2. an awkward, complex, or embarrassing situation
35. Resource streaming Even with modern GPUs with lots of memory, resource streaming is often required Can’t require 1+ GB graphics cards BF3 levels have much more than 1 GB of textures & meshes Reduced load times But creating & destroying DX resources in-frame has never been a good thing Can cause non-deterministic & large driver / OS stalls Has been a problem for a very long time in DX About time to fix it
36. DX11 Resource Streaming Have worked with Microsoft, Nvidia & AMD to make sure we can do stall free async resource streaming of GPU resources in DX11 Want neither CPU nor GPU perf hit Key foundation: DX11 concurrent creates Resource creation flow: Streaming system determines resources toload (texturemipmaps or meshLODs) Add up DX resource creation on to queue on our own separate low-priority thread Thread creates resources using initial data, signals streaming system Resource created, game starts using it Enablesasync stall-free DMA in drivers! Resource destruction flow: Streaming system deletes D3D resource Driver keeps it internally alive until GPU frames using it are done. NO STALL! D3D11_FEATURE_DATA_THREADING threadingCaps; FB_SAFE_DX(m_device->CheckFeatureSupport( D3D11_FEATURE_THREADING, &threadingCaps, sizeof(threadingCaps))); if (threadingCaps.DriverConcurrentCreates)
37. Multi-GPU Efficiently supporting Crossfire and SLI is important for us High-end consumers expect it IHVs expect it (and can help!) Allows targeting higher-end HW then currently available during dev AFR is easy: Do not reuse GPU resources from previous frame! UpdateSubResourceis easy & robust to use for dynamic resources, but not ideal All of our playtests run with exe named AFR-FriendlyD3D.exe Disables all driver AFR synchronization workarounds Rather find corruption during dev then have bad perf ForceSingleGPU.exe is also useful to track down issues
39. Antialiasing Reducing aliasing is one of our key visual priorities Creates a more smooth gameplay experience Extra challenging goal due to deferred shading We use multiple methods: MSAA –Multisample Antialiasing FXAA – Fast Approximate Antialiasing SRAA – Sub-pixel Reconstruction Antialiasing TSAA – Transparency Supersampling Antialiasing Aliasing
40. MSAA Our solution: Deferred geometry pass renders with MSAA (2x, 4x or 8x) Light shaders evaluate per-sample (when needed), averages the samples and writes out per-pixel Transparent surfaces rendered on top without MSAA 1080p gbuffer+z with 4x MSAA is 158 MB Lots of memory and lots of bandwidth Could be tiled to reduce memory usage Very nice quality though Our (overall) highest quality option But not fast enough for more GPUs Need additional solution(s)..
41. FXAA ”Fast Approximate Antialiasing” GPU-based MLAA implementation by Timothy Lottes (Nvidia) Multiple quality options ~1.3 ms/f for 1080p on Geforce 580 Pros & cons: Superb antialiased long edges! Smooth overall picture Reasonably fast Moving pictures do not benefit as much ”Blurry aliasing” Will be released here at GDC’11 Part of Nvidia’s example SDK
42. SRAA ”Sub-pixel Reconstruction Antialiasing” Presented at I3D’11 2 weeks ago [Chajdas11] Use 4x MSAA buffers to improve reconstruction Multiple variants: MSAA depth buffer MSAA depth buffer + normal buffer MSAA Primitive ID / spatial hashing buffer Pros: Better at capturing small scale detail Less ”pixel snapping” than MLAA variants Cons: Extra MSAA z/normal/id pass can be prohibitive Integration not as easy due to extra pass
50. MSAA Sample Coverage None of the AA solutions can solve all aliasing Foliage & other alpha-tested surfaces are extra difficult cases Undersampled geometry, requires sub-samples DX 10.1 added SV_COVERAGE as a pixel shader output DX 11 added SV_COVERAGE as a pixel shader input What does this mean? We get full programmable control over the coverage mask No need to waste the alpha channel output (great for deferred) We can do partial supersampling on alpha-tested surfaces!
51. Transparency Supersampling static const float2 msaaOffsets[4] = { float2(-0.125, -0.375), float2(0.375, -0.125), float2(-0.375, 0.125), float2(0.125, 0.375) }; void psMain( out float4 color : SV_Target, out uint coverage : SV_Coverage) { float2 texCoord_ddx = ddx(texCoord); float2 texCoord_ddy = ddy(texCoord); coverage = 0; [unroll] for (int i = 0; i < 4; ++i) { float2 texelOffset = msaaOffsets[i].x * texCoord_ddx; texelOffset += msaaOffsets[i].y * texCoord_ddy; float4 temp = tex.SampleLevel(sampler, texCoord + texelOffset); if (temp.a >= 0.5) coverage |= 1<<i; } } Shade per-pixel but evaluate alpha test per-sample Write out coverage bitmask MSAA offsets are defined in DX 10.1 Requires shader permutation for each MSAA level Gradients still quite limited But much better than standard MSAA! Can combine with screen-space dither See also: DirectX SDK ’TransparencyAA10.1 GDC’09 STALKER talk [Lobanchikov09]
53. Conclusions DX11 is here – in force 2011 is a great year to focus on DX11 2012 will be a great year for more to drop DX9 We’ve found lots & lots of quality & performance enhancing features using DX11 And so will you for your game! Still have only started, lots of potential Take advantage of the PC strengths, don’t hold it back Big end-user value Good preparation for Gen4
54. Thanks Christina Coffin (@ChristinaCoffin) Mattias Widmark Kenny Magnusson Colin Barré-Brisebois (@ZigguratVertigo) Timothy Lottes (@TimothyLottes) Matthäus G. Chajdas (@NIV_Anteru) Miguel Sainz Nicolas Thibieroz Battlefield team Frostbite team Microsoft Nvidia AMD Intel
55. Questions? Email: repi@dice.se Blog: http://repi.se Twitter: @repi Battlefield 3 & Frostbite 2 talks at GDC’11: For more DICE talks: http://publications.dice.se
56. References [Lobanchikov09] Igor A. Lobanchikov, ”GSC Game World’s STALKER: Clear Sky – a showcase for Direct3D 10.0/1” GDC’09. http://developer.amd.com/gpu_assets/01gdc09ad3ddstalkerclearsky210309.ppt [Lauritzen10] Andrew Lauritzen, ”Deferred Rendering for Current and Future Rendering Pipelines” SIGGRAPH’10 http://bps10.idav.ucdavis.edu/ [Chajdas11] Matthäus G. Chajdas et al ”Subpixel Reconstruction Antialiasing for Deferred Shading.”. I3D’11