Archived

This topic is now archived and is closed to further replies.

Zimans

Dx7 Vs. Dx8

Recommended Posts

Up until now all of my dabblings have been in Dx7, so I figured, might as well look into moving up to DirectX 8. Well, I don''t really like the new Dx8 way of handling things. Some of the new stuff I do like, such as IndexBuffers. There are plenty of times where I have static index buffers so letting the card have the data in vid-mem for speedier rendering makes sense. What I don''t like is the "Just call this function that will do everything for you cause you don''t need to know whats going on." For some reason I just liked the idea of creating everything myself and then giving it to Dx to play with. I dunno, maybe i''m just being stubborn.. Any way, my question is: What can you do in Dx8 that can''t be done in dx7? What reasons are there to really move to dx8? Other than just "It''s the latest ver" -Zims

Share this post


Link to post
Share on other sites
I''m not going to contribute anything particularly useful to the discussion, but...

quote:
Original post by Zimans
What I don''t like is the "Just call this function that will do everything for you cause you don''t need to know whats going on."

I haven''t found that to be my experience, but many tutorials will lead you to believe that''s the situation. DirectX 8 has functionality to enumerate, create, query, probe and otherwise tinker with most structures.

quote:
For some reason I just liked the idea of creating everything myself and then giving it to Dx to play with. I dunno, maybe i''m just being stubborn..

Try masochistic.

quote:
Any way, my question is: What can you do in Dx8 that can''t be done in dx7? What reasons are there to really move to dx8? Other than just "It''s the latest ver"

Find (generic) answers here.

Share this post


Link to post
Share on other sites
I''m not sure what you mean about hiding the functionality. The D3DX library does some of that, but you can work around it if you need to. For instance, it''s really easy to pull the vertex and index buffers out of a D3DXMesh object and use them directly using DrawPrimitive.

The one caveat is that D3DX is usually highly optimized. If you reinvent the wheel, you''re sometimes losing alot of added optimization.

I usually use D3DX for common functions like matrix multiplication and the more direct access (buffers, DrawPrimitive) for the rest. I''m not sure how much lower you''d want to get - you''re pretty much at the same level that OpenGL allows access to.

As far as the differences, I think DX8 is a much cleaner, better API than previous versions in general. The feature set is greatly expanded with new vertex shaders, pixel shaders, and the D3DX library replacing the slow D3DRM functionality.

I''d say the differences are pretty substantial. It''d be very hard to think of a reason NOT to move to DX8.

Share this post


Link to post
Share on other sites