Forward rendering is the 'classic' approach to the rendering pipeline. Nowadays it is mostly replaced by a more flexible, deferred rendering approach.

I did some research and had trouble finding something specific about the history of Forward Rendering. It is my understanding, that Forward Shading evolved alongside the rendering pipeline. The pipeline provided the features for forward rendering and Forward Rendering incorporated the features of the pipeline.

I was wondering: When did a name for the classical shading approach come up and why was this specific name chosen?

  • 1
    $\begingroup$ I can't really put a finger on the moment when the christening happened, but I'm under the impression that it came about solely because it never needed a name before, but now it did, in order to be distinguished from "deferred". I never understood, though, why something more linguistically consistent wasn't chosen instead (e.g. "immediate"). I guess the industry somehow aligned on "forward" and that was that. $\endgroup$
    – IneQuation
    Mar 2, 2019 at 22:51
  • $\begingroup$ I don't actually know why it's called forward shading but I would speculate it's because the shaders used to draw polygons need forward knowledge of the lighting setup ? As opposed to deferred, where lighting is integrated in a separate pass. $\endgroup$
    – PaulHK
    Mar 3, 2019 at 7:20
  • $\begingroup$ I'd say it's because the process is more or less linear. So in essence all you have to do is move forward in the pipeline like geometry -> vertex shader ... -> fragment shader -> screen and you are done. Nothing could be more simpler than that xD Deferrred got it's name from the meaning. Deferred means to put off something to a later time and that's what we do. $\endgroup$ Mar 3, 2019 at 19:48
  • $\begingroup$ It's my understanding that forward rendering (rasterisation) is opposed to backwards rendering (ray tracing), while deferred rendering simply is a specialisation of forward rendering. Forward as geometry is pushed out, on top of eachother (with regard to the z-buffer, of course) onto the image plane (as a pointer would), while ray tracing is projecting the light back to the image plane (as a kind of photography). $\endgroup$
    – beyond
    Mar 4, 2019 at 9:31
  • $\begingroup$ @beyond - raytracing is also forward (light tracing) and backwards. I don't think the above terms has to do anything with raytracing/rasterization $\endgroup$ Mar 4, 2019 at 12:07


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.