View Issue Details

IDProjectCategoryView StatusLast Update
0005022The Dark ModGraphicspublic11.05.2019 15:57
ReporterHMart Assigned To 
Status newResolutionopen 
Summary0005022: Implement a forward+ render
DescriptionRight now TDM uses the original forward render of idtech4, this render, it seems, can support up to 64 point light sources (in a small demo scene, no AI, no physics) at above 60fps, this if they are small, that means they interact with few pixels and they cast no shadows. But in the future, TDM could theoretically support up to a million dynamic light sources, point and spot, by implementing a forward+ render, of course the same limitation as the normal forward render apply to shadow casting lights, the few the better.

Here is the youtube video that made me write this:
TagsNo tags attached.




05.05.2019 17:36

developer   ~0011782

I believe the multi light shader supercedes this


06.05.2019 23:00

reporter   ~0011789

You know best, was just a suggestion for the future. Btw what does the multi light shader do?


11.05.2019 07:27

developer   ~0011791

It's supposed to render all lights in one pass, contrary to the original D3 implementation where each light required a separate pass
You can test it with r_testARBProgram 2 but it requires the shadow maps mode


11.05.2019 15:26

reporter   ~0011797

Thanks for the info, not sure if is the same thing has a forward+ render but sounds interesting, will test it right away.

Btw makes me wonder, if doing them in one pass is faster, why did John Carmack made a pass for each light? Hardware limitation at the time? I'm not a graphics render guy so sorry if this question is obvious.


11.05.2019 15:55

developer   ~0011798

Last edited: 11.05.2019 15:57

View 2 revisions

It's the only way stencil shadows could work back then in 2004 AFAIK. At that time stencil shadows made much more sense than now because of GPU limitations.

Issue History

Date Modified Username Field Change
31.03.2019 15:12 HMart New Issue
05.05.2019 17:36 duzenko Note Added: 0011782
06.05.2019 23:00 HMart Note Added: 0011789
11.05.2019 07:27 duzenko Note Added: 0011791
11.05.2019 15:26 HMart Note Added: 0011797
11.05.2019 15:55 duzenko Note Added: 0011798
11.05.2019 15:57 duzenko Note Edited: 0011798 View Revisions