1
$\begingroup$

So recently after implementing PBR in my engine, I was wondering what are some new & old Rendering Techniques that people are implementing and researching to get Real Time Graphics closer to what things look like in real life? A list of things that come to my mind were:

Physically Based Rendering/Lighting

Dynamic Reflections

Shadow Mapping (also PCSS)

Ambient Occlusion (SSAO, HBAO)

Bloom & HDR

Depth of Field

Lens Flares

Motion Blur

Particle Effects (Fog, Fire)

What are some other techniques that are being used in very graphically demanding games like Battlefield 1, Star Wars: Battlefront, Assassins Creed Unity & other such games. The past few years PBR has been the biggest thing for the gaming industry, are there any new things like that 'on the rise'?

$\endgroup$

closed as too broad by aces, Dan Hulme, trichoplax Nov 2 '16 at 2:45

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

7
$\begingroup$

PBR isn't just a feature you "add to a rendering engine" but an entire philosophy how to approach solving rendering problems. This seems to be a common prevailing misconception when people talk about PBR. Quite often people assume that when they have implemented physically based BRDF (e.g. GGX) into their engines, they are "done implementing PBR". They are not - they are barely getting started.

Let's take some of the topics you list and how do you approach implementing them in the "physically based" way.

Depth of Field, Lens Flares, Motion Blur and Bloom & HDR for example. For years these effects have been implemented and slapped as post effect on the screen with some adhoc factors exposed to artists. However, as you know these are effects happening in the camera system and they should be exposed and implemented considering how the light interacts with this system. How camera aperture, shutter speed, ISO, camera sensor and lense system influence the effects and how they should be implemented and controlled considering these physical characteristics of the camera.

This same principle applies to all the aspects of rendering when you go PBR. For example shadows you mention, how would you implement shadows in physically based way? First of all you would have to consider all lights as area light sources as opposed to infinitesimally small lights that people have been doing for ages. Recently there has been push to implement physically based area lights in real-time which is an important step towards more complete PBR, but they are completely omitting proper area shadowing. This is a difficult problem in real-time rendering and there has been only little research done in the area of area shadows. "Real Time Area Lighting - Now and Next" by Sam Martin is a good thing to read if you are interested in the topic.

Talking about dynamic reflections or lighting in general. How should all the different lighting techniques such as SSLR, local/global environment maps, (textured) area lights, SSAO, GI, etc. be implemented and integrated together to form a cohesive lighting system? That you doesn't do double counting and that they are properly accounted in diffuse and specular lighting calculations.

When implementing real-time PBR algorithms, you will eventually have to introduce some bias due to performance constraints and resort to some kind of approximations. But the important thing is that you know what the real result should be and are aware of the compromises you are making. PBR is a paradigm shift from the classic artistic observation-based real-time rendering algorithm development towards more scientific way of solving the rendering problems and this shift in mentality and the direction it pushes you helps you to get more realistic results in the end.

$\endgroup$
  • $\begingroup$ This answer corrected my way of thinking of PBR. Your entire answer was very helpful. So to summarize, in the near future graphics programming will shift towards improving the current techniques towards a physically based approach in order to improve visual quality. Also are there any new techniques that are being widely adopted? What I mean is how all games adopted shadow mapping, ambient occlusion, specular & diffuse lighting. $\endgroup$ – Arjan Singh Oct 15 '16 at 15:37
  • 1
    $\begingroup$ The shift towards PBR is a continuous process that keeps gaining a foothold as more programmers and srtists (don't forget artists!) keeps gaining better understanding of it. And more research is done in the domain and better HW enable more of the real-time rendering algorihms to be implemented in a physically based way $\endgroup$ – JarkkoL Oct 16 '16 at 4:35
  • 1
    $\begingroup$ Not sure how widely adobted these techniques are, but GGX Is quite dominant BRDF at least. I imagine split-sum approximation for environment lighting is pretty popular too. Various area lighting approximations are gaining popularity and use of proper photometric units to define light illuminance. Also techniques for PBR texture acquisition is of interest to many. To name a few $\endgroup$ – JarkkoL Oct 16 '16 at 4:55
  • $\begingroup$ Are there any good resources other than siggraph to track advances in real time rendering? $\endgroup$ – Arjan Singh Oct 23 '16 at 14:04
  • 1
    $\begingroup$ @ArjanSingh I think one way to find this out, is to look at the references section at the end of any SIGGRAPH article, to see where the references were published. Those might indicate some other good resources. $\endgroup$ – Chris O Oct 25 '16 at 14:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.