How to make MENU in 3D game


  • Hey guys,

    I made a 2D game and the menu was like a one bitmap(with drawed texts- NEW GAME, EXIT..) and I was checking where user clicked...and appropriate was then called.

    Now I am trying to make a 3D space shooting game(in C++ with DirectX 9) and wondering how to make a menu...

    a) make like a 3D scene with some objects - new game and so on...and checking for PICKING -


    b) or draw a bitmap on the QUAD and render the quad


    or HOW...

    thank you

    Friday, February 10, 2006 6:07 PM


All replies

  • Most if not all menu systems are textured quads and if not that maybe 3d meshes. The technique depends on the look and feel you want for your menu system. If you want a 3d type menu and you can get the right effect with textured quads, go for it. If you think that animated meshes might do it for you, then use that. It really depends. I'd suggest going for the textured quads.

    Keep in mind that if you use meshes you will have to make sure that they are always rendered infront of the scene. You can even disable the ZBuffering for them.

    PS: Both methods have their advantages and disadvantages. The textured quads are simple and effective and doesn't require alot of work to look nice. The meshes technique will require some work to get them to be rendered in the correct place. What they might do is add more of a depth'y' feel to the whole interface.

    I hope this helps.
    Take care.
    Friday, February 10, 2006 6:41 PM
  • Thank you for your advice...

    I think I might be going for MESHES and having it look like 3D, but

    pls how could I dissable Z-buffering for an object,,I tried it

    with SETRENDERSTATE(D3DRS_ZENABLE,false)...or like this

    and this doesnt work - I just tried...and havent found any reference how to disable Zbuffering.

    BTW, if I have eg, "NEW GAME","EXIT" objects withouz ZBUFFERING will I be able to check for PICKING them?



    Saturday, February 11, 2006 11:05 AM
  • Take at a look at the source for the CustomUI sample in the SDK.  In addition, look at these UI tutorials on C-Unit (http://www.c-unit.com/tutorials/mdirectx/).
    Saturday, February 11, 2006 9:12 PM
  • Ohh lovely tutorials, but will I be able to handle them with C++, with conversion to C++?
    Tuesday, February 14, 2006 1:59 PM
  • There's no reason they can't be converted to C++, since all the DirectX calls are nearly identical (Managed DirectX is basically an efficient, thin layer into DirectX).

    You might want to write to Chad and ask if he already has them in C++.

    Tuesday, February 14, 2006 6:42 PM