Direct3D

Started by
7 comments, last by Gf11speed 24 years, 6 months ago
If you know DirectDraw pretty well, and know the basics of 3d programming,
Direct3d will be no problem. Once you get past all the start up code,
it's really not that hard. Look for
the DrawPrim document by Mark Feldman,
it's on the GPMega site.

Greetings Tobias

Advertisement
Actually, with the introduction of DirectX 7, even the startup code is trivial in Direct3D if you choose to use the Direct3DX utility library. I've been playing around with it and have so far found it to be VERY useful.
Direct3DX utility of DirectX7 simple and useful? I do not think so.

Direct3DX utility does not import 3d models, does not import animation files, and no hierarchy support.

Totally nothing to me.

To Savannah:

If you want model loading code in D3DX, why don't you make a feature request to MS? It seems like a reasonable addition, and could make it in version 8.


I think there is a very good reason they did not include model or animation loading code in the Direct3DX library. It's because nearly every Direct3D based engine is going to implement objects and animations in an at least slightly different way. Not to mention the fact that there really is no standard file format for MS to support (.X files? I don't think so).

Now, if you don't think the easy initialization, texture loading, sprite (particle) drawing, and loads of common 3D mathematic functions are not at all useful, that's your opinion. I personally think they did a great job in choosing what functionality to include in Direct3DX.

On a side note, does anybody know whether the functions in this library (particularly the math ones) make use of 3DNow! or SSE?

If you already had a software 3D engine working in DirectDraw, you could reasonably expect to convert it within a week. D3D is really easy to learn particularly if you know some DirectX already. There are three ways you can write D3D as well. Theres retained mode (high-level), and Execute buffers(low level but old) and the (relatively) new Draw Primitives(low level). I couldn't really tell you about the other two but I found Draw Primitives really easy to learn and use.
You just feed in triplets of co-ordinates and tell it to draw you a triangle, and it does. It's up to you whether you want to write your own code to light and project then, or have D3D do it for you. Put more simply you can either feed in screen (2D) co-ords or global (3D) co-ords, which means you can build it onto an existing engine really easily.
A good place for info if you want to learn retained mode should be Inside Direct3D from Microsoft which is published this October.
D3D has supported 3DNow since DX6.0
In order for SSE to be supported, you need either:

A Special Version of DX6.2 (I think it only came with newer versions of Win98 anyway)

or DX7 and an OS upgrade.
SSE won't work without special extensions to the Operating System.

Its a bitch to code for, but 3dnow is simple and easy. not to mention faster, has more support, is more flexible, and is on more processors than SSE.
(K6-2, K6-3, Athlon, Winchip 2, 3, and 4)

This is my signature. There are many like it, but this one is mine. My signature is my best friend. It is my life. I must master it as I must master my life. My signature, without me, is useless. Without my signature, I am useless.
I was just wondering about learning Direct3d. Is it very difficult? I know DirectDraw ok, and am ready to move on to Direct3d. It seems a little bit intimidating to me. Can anyone give me some advice on how to learn it and what steps to take to make this process as painless as possible? Thanks.
Greg FieldsSyntasoft Gameswww.syntasoft.comPost-Time Horse Racing (Available Now)
I was aware that 3DNow! was used in the Direct3D transformation pipeline, but wasn't sure whether it was used wherever applicable throughout all of Direct3D.

This topic is closed to new replies.

Advertisement