Next-gen renderer (codename "Gloom")
Doomsday's renderer in version 1.9 was fully based on OpenGL 1.4. There was no support for shaders, for instance.All the graphics code should be revised to use the libgui GL classes instead, which are OpenGL 3.3 (OpenGL ES 2) compatible. In practice, this means comprehensive changes to the entire stack of drawing routines:
- OpenGL state should be managed exclusively using GLState
- Textures and other image content should be grouped in AtlasTextures
- Vertex data should be stored in VBOs and kept around as static data as long as possible (across multiple frames)
Once the entire renderer is using libgui, we can start revising certain portions like how materials are drawn (should use shaders instead of hard-coded effects).