Thread: DirectDraw Programming tutorial sites

  1. #1
    Programming Newbie Kaminaga's Avatar
    Join Date
    Jun 2005
    Posts
    14

    DirectDraw Programming tutorial sites

    Hi,
    I'm trying to learn some DirectDraw programming. Basically I just want to make a simple 2D game or something similar. I've looked at sites from scorpioncity and even gamedev.net but I feel that it didn't explain properly. So is there anyone who could recommend some links to sites that give this kind of tutorial. The language prefered would be C++. Thanks in advance.

    -Kaminaga
    "Temporary constructs of the feeble human intellect, trying desperately to justify it's meaning or purpose.." -Agent Smith
    kaminaga.deviantart.com

  2. #2
    Bioport Productions
    Join Date
    Oct 2005
    Posts
    215
    Well, its almost impossible to learn EVERYTHING from tutorials. From my experience, looking and analyzing source code helps me more than anything. Sure it takes longer, but seeing a working version in action and being able to relate to it in code will help you alot.

    Suggestion: DirectDraw sucks. I recommend basic Direct3D, you can do just as much as DirectDraw and much much more. There's alot more tutorials on the subject also. If you really really want to get into game programming here's the link you should follow www.amazon.com, a book is packed full of alot more information than you could find on the internet. Here are some other good sites I find as good references:

    www.toymaker.info <-- Very good site, alot of tutorials ranging from sprites to shaders
    www.gamedev.net <-- You already know this one, but its so good you should know it twice.
    www.gamasutra.com <-- Some very good advanced tutorials(you have to signup though)
    www.google.com <-- The best site of all
    -"What we wish, we readily believe, and what we ourselves think, we imagine others think also."
    PHP Code:
    sadf 

  3. #3
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    They removed DirectDraw from DirectX as of version 8 I believe. There are a lot of good tutorials on the net (some on gamedev.net) about using 2d in Direct3D.

  4. #4
    Registered User
    Join Date
    Apr 2005
    Posts
    8
    They did remove DirectDraw from the SDKs and they are going to remove DirectDraw further down the line from all of the modules.
    Some applications still use DirectDraw, like iTunes and most older games so I assume it'll take a while for it to become completely deprecated.
    EDIT: Althought DirectDraw is a good start for learning DirectX

  5. #5
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Some applications still use DirectDraw, like iTunes and most older games so I assume it'll take a while for it to become completely deprecated.
    Crappy ones. DirectDraw IS deprecated and dead. It has been merged with Direct3D to produce DirectGraphics. You cannot use a pure blit function with color key support in Direct3D. You must use alpha blending to accomplish this. DirectDraw is dead.
    If you insist on just using DirectDraw you are working against the modern DirectX API, not with it.

    EDIT: Althought DirectDraw is a good start for learning DirectX
    ...and ceased to be as of about DirectX 8.0. DirectDraw and how you init objects has nearly nothing to do with how you do it in Direct3D or in DirectX 9.0c+. I wouldn't even bother with the DirectDraw stuff. Use Direct3D.

    If you do not understand how to use ID3DXSprite here is a simple vertex structure that can be used for 2D. This only supports one texture but you could change it to produce some dazzling lighting effects - even for a 2D game.

    D3DAPPVertexTypes.h
    Code:
    #ifndef D3DAPP_VERTEXTYPES
    #define D3DAPP_VERTEXTYPES
    
    //Pre-transformed, pre-lit vertex supporting 1 texture
    struct TLVertex
    {
      D3DXVECTOR3 Pos;
      float RHW;
      D3DCOLOR  Diffuse;
      D3DCOLOR  Specular;
      float tu,tv;
    
      TLVertex(void):Pos(D3DXVECTOR3(0.0f,0.0f,0.0f),
                              RHW(1.0f),,Diffuse(0),Specular(0),tu(0.0f),tv(0.0f) {}
      TLVertex(D3DXVECTOR3 _pos,D3DCOLOR _diffuse,D3DCOLOR _specular,float _tu,float _tv):Pos(_pos),
                     RHW(1.0f),Diffuse(_diffuse),Specular(_specular),tu(_tu),tv(_tv) {}
    
       static const DWORD FVF;
    };
    
    #endif
    D3DAPPVertexTypes.cpp

    Code:
    #include "D3DAPPVertexTypes.h"
    
    const DWORD TLVertex::FVF=D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1
    Last edited by VirtualAce; 10-13-2005 at 11:18 PM.

  6. #6
    Registered User Frobozz's Avatar
    Join Date
    Dec 2002
    Posts
    546
    Quote Originally Posted by Kaminaga
    Basically I just want to make a simple 2D game or something similar.
    So why even use DirectX? Why not a library like SDL? It was designed for 2D but also allows use OpenGL for greater effects.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. My new website
    By joeprogrammer in forum A Brief History of Cprogramming.com
    Replies: 19
    Last Post: 03-17-2006, 07:38 PM
  2. Replies: 5
    Last Post: 01-25-2006, 09:53 PM
  3. Replies: 4
    Last Post: 01-20-2006, 09:21 AM
  4. Tutorial review
    By Prelude in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 03-22-2004, 09:40 PM
  5. I'm bored - got any sites?
    By Lurker in forum A Brief History of Cprogramming.com
    Replies: 6
    Last Post: 12-12-2003, 04:12 PM