英文原文
This is a deferred lighting implementation that I've created on the Alien Swarm SDK. It's currently offering shadow mapping for directional/point/spot lights, blinn phong and volumetric scattering via light volumes.
The in-game editor allows you to load from/save to VMF files directly, however parented or named lights (with I/O) will not be editable in-game.
Hundreds of small lights can be rendered with great performance (on a GTX 260), however as soon as they cover a lot of screenspace or are even drawn fullscreen (intersecting light geometry) they become much more expensive.
The renderer firstly draws the skybox/scene to the gbuffer (normals+lighting params and depth), performs light rendering via low poly spheres/cones and does a second pass on the skybox/scene that produces the final result. Due to this, all shadows and lights from the world are directly projectable on the skybox, however geometry in the skybox does not yet cast shadows nor can you place lights in the skybox.
There's currently no hardware filtering support for AMD because I do not own any AMD cards, so I can hardly add that myself. Running this on AMD will either require you to recompile everything with a color based shadow mapping filter (as easy as changing one line of code) or adding fetch4 code - you've been warned.
This is a deferred lighting implementation that I've created on the Alien Swarm SDK. It's currently offering shadow mapping for directional/point/spot lights, blinn phong and volumetric scattering via light volumes.
The in-game editor allows you to load from/save to VMF files directly, however parented or named lights (with I/O) will not be editable in-game.
Hundreds of small lights can be rendered with great performance (on a GTX 260), however as soon as they cover a lot of screenspace or are even drawn fullscreen (intersecting light geometry) they become much more expensive.
The renderer firstly draws the skybox/scene to the gbuffer (normals+lighting params and depth), performs light rendering via low poly spheres/cones and does a second pass on the skybox/scene that produces the final result. Due to this, all shadows and lights from the world are directly projectable on the skybox, however geometry in the skybox does not yet cast shadows nor can you place lights in the skybox.
There's currently no hardware filtering support for AMD because I do not own any AMD cards, so I can hardly add that myself. Running this on AMD will either require you to recompile everything with a color based shadow mapping filter (as easy as changing one line of code) or adding fetch4 code - you've been warned.