Project

General

Profile

Feature #2136

Feature #7: Next-gen renderer (codename "Gloom")

Add a map rendering abstraction layer for supporting both Classic and Modern rendering modes

Added by skyjake almost 9 years ago. Updated almost 5 years ago.

Status:
Rejected
Priority:
High
Assignee:
Category:
Redesign
Target version:
-
Start date:
2015-11-28
% Done:

0%

Tags:

Description

The map renderer is responsible for drawing the world surfaces. Note that this excludes mobjs (which may be sprites or 3D models) and special effects (lens flares, particles). Map rendering does include atmospheric fog, distance fog, and dynamic/static lighting of the surfaces.

A thin abstraction layer should be added that makes it possible to implement different kinds of map renderers.

  • The "Classic" map renderer, developed during the Doomsday 1.x series, should be one of the map renderer implementations. Until a new renderer is fully functional, the Classic renderer should be the default option.
  • A new "Modern" renderer should be developed based on libgui GL classes with OpenGL 3.3 as a requirement. It should share as much of the Classic geometry generation code as possible for supporting map hacks.

This approach allows keeping the older rendering as a fallback for older hardware while giving us full freedom to build the Modern renderer without compromises.


Related issues

Related to Feature #1945: Efficient reuse of world geometry across multiple frames/passesResolved2015-01-13

History

#1 Updated by skyjake almost 9 years ago

  • Priority changed from Normal to High

#2 Updated by skyjake almost 8 years ago

  • Assignee set to skyjake
  • Target version set to Rendering

#3 Updated by skyjake almost 8 years ago

  • Related to Feature #1945: Efficient reuse of world geometry across multiple frames/passes added

#4 Updated by skyjake about 6 years ago

  • Status changed from New to Rejected

The classic renderer is very different from Gloom, and it relies on an entire stack of supporting resource management code. Gloom will not be using much of the old resource management as-is, so it doesn't make much sense to keep both in the engine.

The new renderer will be the only one availble in Doomsday 3, while the classic renderer remains in the 2.x branch.

#5 Updated by skyjake almost 5 years ago

  • Target version deleted (Rendering)

Also available in: Atom PDF