Archived

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

pointguard1

Why are there no DIrectGraphics Tutorials?

Recommended Posts

pointguard1    122
Just curious but why aren''t there any tutorials on DirectGraphics yet? Have I just been looking in the wrong places or what? I''ve been using DDraw with DX7 and I''m hoping to make the transition soon. I googled "DirectGraphics tutorials" but it only gave my VB DX stuff. And I can''t find any on gamedev or nexe either. I''d sure appreciate it if someone wrote one or even pointed me to one. Thnx! Happy Holidays. Remember the real reason too. Newbie to game programming? visit KaBooMgames Great for Newbs, Masters welcome as well

Share this post


Link to post
Share on other sites
CrazedGenius    156
DXGraphics is the new name for Direct3D now that DirectDraw is not an official component. (The DX8 D3D API is really DXGraphics, but it maintains the D3D prefix on all the functions)

This is a point I keep pushing - People feel that DirectGraphics/Direct3D in inappropriate for 2D graphics. This isn''t really true. The reason for the name change is that there is no longer a distinction. DirectGraphics is an API that tries to get the most out of the hardware. It just happens that all of the current hardware is driven by a 3D architecture.

This has always been true with OpenGL (Open Graphics Language). Most people use OpenGL for 3D, but there is no fundamental reason not to use OpenGL for 2D. OpenGL has a 2D "blitting" API, but almost no hardware has provided accelerated support, but it was fairly easy to do 2D with the part of the API that was set up for 3D. The same is now true for DXGraphics.

Share this post


Link to post
Share on other sites
DrunkenHyena    805
G''day!

This is being real nitpicky (like that''s a word), but I hate the fact that Microsoft pushes the idea that DirectGraphics is the merging of DirectDraw and Direct3D. It confuses a LOT of people, because they (quite logically) expect to see DirectDraw-like methods exposed in the DirectGraphics interface (which is really the Direct3D interface).

They didn''t merge them, they just made D3D good enough on it''s own, which is not the same. If it was a merge, where are the DirectDraw-like methods? Why don''t we get a DirectGraphics interface instead of a D3D8 interface? Sadly, it''s because of marketing.

Less people would get confused when first coming to DX8 if Microsoft gave an explanation closer to CrazedGenius''s.
DirectDraw is gone, DirectGraphics is a marketing term for a (much) better D3D.

K, I''m done ranting now.


Stay Casual,

Ken
Drunken Hyena

Share this post


Link to post
Share on other sites
LoneCoyote    122
I''ve just recently started working with DX 8.0, and I was one of those confused by the so-called combining of DirectDraw and D3D. I expected to see the old DirectDraw stuff in the documentation, but it isn''t there any more.

So, I tried using my old DX7 DirectDraw code (for creating a DirectDraw object, setting cooperation level, etc) in DX8. I had some problems getting it to work at first, but, after poking around in ddutil.cpp a little bit to see what was going on, I was able to get it working.

Share this post


Link to post
Share on other sites
NuFAN    122
Let''s ask other way round : What the heck do you need basic DX8 tutorials for ? Everything you need to know can be found in the DX8 SDK documentation (which has been improved in DX 8.1 very much).

Share this post


Link to post
Share on other sites
KingsRevenge    168
Yea your best bet is to go to
NeXe
http://nexe.gamedev.net

as well as Drunken Hyena
www.drunkenhyena.com

also be sure to check hte link bar on the left it has some Directx sites, like Mr. Snow''s website which has a super lone address i dont have memorized. ALso be looking at nexe within the next couple of days I''ll throw up some new tut''s once I Get around to converting them to NeXe format.

Eric Wright o0Programmer0o

NeXe

My Homepage

Share this post


Link to post
Share on other sites
CrazedGenius    156
DH -

I think I''m less cynical about this. It''s less about marketing and more about the reality of the hardware. For example, OpenGL has DirectDraw-like functions like glDrawPixels, etc. The only problem is that 99% of the hardware vendors chose not to make these viable methods of doing 2D. It was very common to have a 1 fps "blit" with glDrawPixels that the same hardware could do in 100 fps with a 2D rect and an ortho projection.

The idea of literally blitting on new hardware is more or less gone. The hardware just doesn''t work that way anymore. The D3DXSprite interface is a good DirectDraw compromise, but one might be better off learning the "new way" so that they can find new features, shortcuts, etc.

Share this post


Link to post
Share on other sites
DrunkenHyena    805
quote:
Original post by CrazedGenius
DH -

I think I''m less cynical about this. It''s less about marketing and more about the reality of the hardware. For example, OpenGL has DirectDraw-like functions like glDrawPixels, etc. The only problem is that 99% of the hardware vendors chose not to make these viable methods of doing 2D. It was very common to have a 1 fps "blit" with glDrawPixels that the same hardware could do in 100 fps with a 2D rect and an ortho projection.



I''m not upset that those features are gone, I agree with the direction that they chose. My only issue is the way they tried to present it. They present it as if DirectGraphics= DirectDraw + Direct3D, but that is not the truth.


Stay Casual,

Ken
Drunken Hyena

Share this post


Link to post
Share on other sites
a person    118
the reason that functions such as glPixels() are slow is that they work at the pixel level per call. this kills performance no matter what the card does. to further hurt opengl in 2d is the fact there is no way to lock the video buffers for doing per pixel stuff in local system memory video buffers (if they are in VRAM its slow anyway). to further haper opengl in 2d is the simple fact its portable which means that they have to deal with the system as abstractly as possible to work on all systems without hassle. this is why directdraw which gives direct acces to the video memory and control over how buffers are allocated is many time faster then opengl which must go through the windows gdi (which is slow).

Share this post


Link to post
Share on other sites