Kindly educate me on Forward vs Deferred rendering techniques, I am making an engine but my main target is mobile platform and deferred rendering technique cannot handle by low end mobile due to its nature or maybe I’m wrong here.
First question; If I’m using MG out of the box without a fancy rendering
techniques am I doing a Forward rendering ?
Second inquiry; Should I be doing Deferred rendering by now because
it’s the modern technique ?
Depends if you want to learn and invest time. For many types of games a forward renderer is actually faster, so do some research on how both work before deciding.
I decided to go with deferred rendering because I was really interested in learning and implementing all of the math and shader code that goes along with it, and I thought my game would have lots of lights (torches, glowing projectiles, etc.). I think it’s a common opinion that deferred is better if you plan on having a lot of lights in your game, because forward rendering time scales with O * L while deferred rendering scales with O + L, where O is the number of objects and L is the number of lights.
I got frustrated reading post after post of “the only way to know for sure is to try both and compare,” so I decided to just go ahead and implement the one that I would enjoy more as a dev, hoping that my relatively simple game on modern hardware wouldn’t show much of a difference either way.
Woahh, tha’ts good to hear Sir Cosmo! I thought I should implement both Forward and Deferred RT, when my goal is developing for Desktop and Console I will put an option to use Deferred RT. ATM I will refine and complete my engine for Mobile ^_^y
Thanks for the white paper link bro ^_^y by taking a glance on it I think it described a checkerboard rendering techniques maybe : -D not sure if its the same.
Rainbowsix siege use Checkerboard Rendering Technique they describes the checkerboard rendering technique used which accommodated for faster rendering times without sacrificing quality.
Rainbow six uses forward-clustered and checkboarding to hit 4k - pretty much required on 4k, that’s a stupid amount of pixels and way beyond what our dinner-plate sized cone of vision can see.
There were two big catches when I implemented Forward+ in MG:
had to add support for a few integer texture formats
needed for the light list
super trivial
have to write GLSL raw instead of using the HLSL conversion
needs layout 4.20 for setting the texture-unit binding explicitly
without it the samplers constantly shift around based on what textures a shader uses, which means a ton of unncessary texture-rebinds from the light-tables moving that should be set it and forget it