IdTech4 Open Source: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 44: Line 44:
|Shadow Volumes are calculated on the CPU. Moving to a GPU calculated Shadow Volume or a Shadow Mapping technique like Parallel Split Variance Shadow Maps would allow more on-screen geometry with active lighting applied. Soft shadows would also be MUCH less expensive than the current Z-Buffer render and Post-Process method.
|Shadow Volumes are calculated on the CPU. Moving to a GPU calculated Shadow Volume or a Shadow Mapping technique like Parallel Split Variance Shadow Maps would allow more on-screen geometry with active lighting applied. Soft shadows would also be MUCH less expensive than the current Z-Buffer render and Post-Process method.
|Performance increase. Higher poly-counts. More active lights. Soft shadows.
|Performance increase. Higher poly-counts. More active lights. Soft shadows.
|-
|Graphic
|No access to Vertex positions. For vertex shader or geometry shader (DX10+ hardware) operations like R2VB, Vertex Texturing or Tessellation the correct Vertex locations will be needed.
|Performance increase. Higher poly-counts.


|}
|}

Revision as of 17:53, 29 October 2010

id Software has a long history making the code to their engines open source after a while. Even after being sold to Zenimax, this trend continued. The source code can be found on the officiel FTP server from id software.

So there is hope that idTech4 (the engine behind Doom 3 and Quake 4) will also be open sourced. For The Dark Mod this means that we can fix a long list of issues that are currently not possible.

Here is a small, incomplete list, in no particular order:

Todo: add more examples

Category Issue Possible outcome
Sound EAX does not work under Linux. Works there, too.
Graphic The lightgem needs to render to a texture and transfer this texture back to the CPU via a complicated in-memory file scheme. Performance increase.
Graphic No instancing. Multiple instances of the same model are all rendered one by one, instead of uploading it once and then telling the graphic card to render them all in one go. Performance increase.
Graphic No access to the Z-Buffer. Without access to this data, any depth-based fragment shader effects like SSAO or Depth of Field require an extremely expensive z-pass render. Performance increase. More effect options.
Coding Single-threaded coding. It may be possible to divide the sub-systems into separate execution threads for processing on separate cores once the source code is available. The game Prey has implemented this type of change to Id Tech 4. On the extreme side of concept, OpenCL could be used to perform AI path-finding, or physics calculations. Performance increase.
Graphic Shadow Volumes are calculated on the CPU. Moving to a GPU calculated Shadow Volume or a Shadow Mapping technique like Parallel Split Variance Shadow Maps would allow more on-screen geometry with active lighting applied. Soft shadows would also be MUCH less expensive than the current Z-Buffer render and Post-Process method. Performance increase. Higher poly-counts. More active lights. Soft shadows.
Graphic No access to Vertex positions. For vertex shader or geometry shader (DX10+ hardware) operations like R2VB, Vertex Texturing or Tessellation the correct Vertex locations will be needed. Performance increase. Higher poly-counts.

See also