
I know basically how the original software renderer works; one would think that on a modern system in software renderer mode, the CPU composes the scene into a framebuffer then simply hands it to the GPU to put on the screen. One would think that on an old graphics card, with no OpenGL or whatever, it would simply do whatever the old ZDoom did to push the framebuffer to the graphics hardware. However, even LZDoom requires at least OpenGL 2.1, IIRC and even GLES Doom requires some form of OpenGL, even for maps that do not use any special features. It seems odd, in the sense that if it requires hardware support, can it even be truly called a software render anymore? Indeed generally speaking, there have been so many changes to rendering since ZDoom, it'd be nice to know how the GZDoom/LZDoom renderer works in any case, perhaps via a flowchart or similar.
So can anyone tell me on a technical level at what point the software rendering process in GZDoom or LZDoom diverges from that in ZDoom?