Skip to main content
gamedev.net
🔒 Locked

DirectX Interface Subdivision

Started by Kaze Xoor Oct 28, 2002 at 10:20 AM 0 replies 750+ views
Original Post
Kaze Xoor
Kaze Xoor
I want to talk about Microsoft''s decision on joining several of the DirectX components. We all know that DirectDraw and Direct3D (components prior to DirectX 8) were merged forming DirectX Graphics. DirectMusic and DirectSound also were joined creating the component DirectX Audio. The question is: ¿Has Microsoft made it right? It''s obvious for us that Microsoft tends to develop products that rather priorize the ease of use than other aspects. The same thing was happening with DirectX. Since DirectX versions 6/7, web servers were deluged of games developed by out-of-the-videogame-bussiness people. A lot of amateur game designers were born. I think this happened mainly because of the simplicity of the DirectDraw and DirectSound interfaces. We all made our first games in 2D and playing WAVE sound files. However, with the release of DirectX 8 (and its fusions of interfaces), this seems to be stopped a little. New game programmers have to come up against 3D stuff though they just look for 2D stuff, and the same happens with the sound. ¿Why to create MIDI performances justo to play a single WAVE sound? Maybe many people should be grateful for have begun to program games with DirectX 6/7. I''m happy for belonging to that group of people. I think the interface union have complicated game programming instead of simplify it; perhaps it''s better to have everything well divided than to have an apparent simplicity with a smaller number of components. Adrian Brunetta - Kaze Xoor (sorry, I don''t speak english!)
CrazedGenius
CrazedGenius
(can''t comment too much on the sound stuff - haven''t used it in awhile)

On the graphics stuff, first of all:
1. you can still use the old interfaces
2. it is not a "3D API" it is a graphics API. The graphics card works very well with points that define positions on the screen and textures that are stretched between those points. At a high level, this is no different than blitting to a rect. At a low level the lines of code have changed, but that''s good, because at a very low level the hardware has changed.


Keep in mind that the point of DirectX is to give you fairly "direct" access to the hardware. Therefore, the API mirrors the hardware''s capabilities. Imagine that one day, hardware voxel or ray tracing engines take the place of polygons. If that were the case, DirectX 20 (or whatever) would become a voxel based API and it would be the correct decision.

This has been discussed many times. Many people seem to agree that you can write your own 2D wrapper around DX8 in a matter of minutes. I just completed a project that was primarily 2D and did not use a wrapper because I found that forcing myself into the old 2D mindset was two constraining. In the end, I used alot of texturing tricks and other things that were never available in DirectDraw and it turned out to be a very slick 2D app.

Author, "Real Time Rendering Tricks and Techniques in DirectX", "Focus on Curves and Surfaces"

Topic Locked

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

Sign in to reply to this topic.