Skip to main content
gamedev.net
🔒 Locked

RM vs IM

Started by FLaNK 3 replies 300+ views
Original Post
FLaNK
FLaNK
I just bought a book ("The Awsome power of Direct3D/DirectX") in the hope of a bit of a DDraw resource.. ofourse its all about Direct3D so I thought I''d give that a shot. Unfortunately it almost solely covers Retained mode. I want to design a simple space shooter (fullscreen) game.. would it be easier to do this in RM or IM.. ie should I buy another book? Thanks
Biggles
Biggles
Someone explain this concept of Retained mode/Immediate mode to me. I never really understood the difference.


--------------------

Never eat anything bigger than your own head.
--------------------Never eat anything bigger than your own head.
thedo
thedo
Retained mode was designed for RAD (Rapid Application Development). Immediate mode was designed for performance. RM fell down because it wasn''t any easier to write than IM (at least from DX5 onwards) so they got rid by DX7 and introduced a set of helper functions for IM called D3DX. D3DX is now tightly integrated into DX8 and is possibly (and this may cause controversy) easier to use than OpenGL now.

Neil
WHATCHA GONNA DO WHEN THE LARGEST ARMS IN THE WORLD RUN WILD ON YOU?!?!
abstractworlds
abstractworlds
Retained Mode was a high level scene graph API which sat on top of the much lower level immediate mode. My understanding is that it was called retained mode because it retained (or remembered) the objects that you had previously set up for it to draw in its own scene graph (an in-memory database of objects). That way you only had to tell it what the scene was made of, it stored the scene, and it worried about how to draw the scene each frame.

In immediate mode, however, you have to do a lot more work, describing the scene, remembering the scene (storing it in your own data structures), and telling DirectX how to draw the scene each frame yourself. Immediate mode generally proved more popular since it offered more flexibility, and gave those clever game programmers more low level control that they expected.

Eventually, Microsoft decided not to take Retained Mode any further. Retained Mode is however still part of the latest versions of DirectX, and should continue to be included since new versions of DirectX do include previous versions of API interfaces.

A few years back when Microsoft talked about the future of DirectX, then codenamed Fahrenheit, they said that it would be more OpenGL-like and support a powerful scene-graph (which I assumed would be the replacement of Retained Mode). So far, I don''t think that a powerful scene graph has been delivered, although Microsoft have wrapped Immediate Mode in a friendlier D3DX Utility library.

It is possible to develop a simple 3D space shooter in RM, I started this over 3 years ago and it still works with Windows 98/DirectX 8, Windows NT4(SP3), and Windows 2000:
http://www.abstractworlds.com/closeapproach
However if I was starting today, I''d probably use the D3DX Utility library.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.