Direct3D Retained Mode: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "'''Direct3D Retained Mode''' (also known as '''D3DRM''') was a seldom-used graphics API that was part of early versions of {{Wikipedia|Direct3D}}. Its counterpart is Direct3D...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
LEGO Island uses Retained Mode extensively for all of its 3D graphics, and is one of only two major commercially successful games known to do so (the other being {{Wikipedia|LEGO Rock Raiders}}).
LEGO Island uses Retained Mode extensively for all of its 3D graphics, and is one of only two major commercially successful games known to do so (the other being {{Wikipedia|LEGO Rock Raiders}}).


Retained Mode's age and obscurity initially made LEGO Island's code harder to analyze since (unlike its peers `DDRAW.DLL`, `D3DIM.DLL`, etc.) it largely predates online documentation and the D3DRM.DLL provided on disc was too old to have PDB debug symbols available. However, it was discovered that a more recent version of D3DRM.DLL was released in 2001 with Windows XP and also has PDB symbols available, mitigating this entirely. A digitized book from the era was also discovered documenting most of Retained Mode's API.
Retained Mode's age and obscurity initially made LEGO Island's code harder to analyze since (unlike its peers <code>DDRAW.DLL</code>, <code>D3DIM.DLL</code>, etc.) it largely predates online documentation and the D3DRM.DLL provided on disc was too old to have PDB debug symbols available. However, it was discovered that a more recent version of D3DRM.DLL was released in 2001 with Windows XP and also has PDB symbols available, mitigating this entirely. A digitized book from the era was also discovered documenting most of Retained Mode's API.


In many ways, Retained Mode is likely the culprit in many of LEGO Island's [[Compatibility Issues|compatibility issues]] with modern systems. Since Microsoft has dropped any and all support for Retained Mode, it's possible the game's codebase may have aged better had it been written for Immediate Mode instead.
In many ways, Retained Mode is likely the culprit in many of LEGO Island's [[Compatibility Issues|compatibility issues]] with modern systems. Since Microsoft has dropped any and all support for Retained Mode, it's possible the game's codebase may have aged better had it been written for Immediate Mode instead.
Line 20: Line 20:


LEGO Island requires Direct3D Retained Mode to play. For instructions on restoring it on recent versions of Windows, see [[Compatibility Issues#D3DRM.DLL was not found]]
LEGO Island requires Direct3D Retained Mode to play. For instructions on restoring it on recent versions of Windows, see [[Compatibility Issues#D3DRM.DLL was not found]]
== 2001 Version ==
The last known build of D3DRM.DLL was released with Windows XP in 2001. This build is recommended for its improvements over the 1997 build on the LEGO Island disc, including the following:
* PDB debug symbols are available
* Better dgVoodoo compatibility
* Wine compatibility (Wine's D3DRM.DLL implementation is incomplete and older D3DRM versions don't work)


== Downloads ==
== Downloads ==
* Download newest version: [[File:D3DRM.ZIP]]
* [https://legoisland.org/download/d3drm.zip D3DRM.DLL] - 2001 build of D3DRM released alongside Windows XP, the most recent build known to exist
* [https://msdl.microsoft.com/download/symbols/d3drm.pdb/3B7D82D31/d3drm.pdb Debug symbols (PDB)]
* [https://msdl.microsoft.com/download/symbols/d3drm.pdb/3B7D82D31/d3drm.pdb Debug symbols (PDB)]
* [[File:DirectX_3D_Graphics_Programming_Bible.pdf]], a book from the D3DRM era that documents most of its API
* [[File:DirectX_3D_Graphics_Programming_Bible.pdf]], a book from the D3DRM era that documents most of its API

Navigation menu