Shapes in DirectX

TheLionKing 101 Sep 16, 2003 at 04:48


In OpenGL we can choose what we want do draw like GL_QUADS for Square and other stuff … but in DirectX there is just TRIANGLE and other stuff related to it. :unsure: So, we have to use triangles to draw squares and other stuff … right?

My question is if I want to draw a Sphere … how can I do that? Do I have to generate it by an alogrithm or is there a function for it …? :wtf:

5 Replies

Please log in or register to post a reply.

dk 158 Sep 16, 2003 at 05:03

DirectX9 has utilities (prefixed with D3DX) which can do what you need. Use this function:

HRESULT D3DXCreateSphere(

    IDirect3DDevice9* pDevice,
    float             radius,
    unsigned int      slices,
    unsigned int      stacks,
    LPD3DXMESH*       mesh,
    LPD3DXBUFFER*     adjacency

But if you don’t want to use DirectX’s mesh structure (D3DXMESH), then you’ll have to generate the sphere yourself.

If you’re interested, I can make a short article on implementing the algorithm for both OpenGL and DirectX.

Hope that helps.

TheLionKing 101 Sep 16, 2003 at 12:48

Thanks :yes: ! Why didn’t I think of that before? Thanks again …!

:nod: I would love to see your article (anything related to DX now … since I am learning that now :blush: ).

D3DX is a DX utility like GLUT is for OpenGL … right :) ?

There are then functions for creating other objects in D3DX like there is in the case of OpenGL?

donBerto 101 Sep 16, 2003 at 14:13

D3DX is the Direct 3D sub-api of DX. so most [if not all] of the D3D code you’ll have will be “prefixed with D3D” [a la apex]


baldurk 101 Sep 16, 2003 at 18:28

bear in mind that regardless of the shape, it’s always, AFAIK, split into triangles by the vidcard/API. So rendering is triangles is best all round.

TheLionKing 101 Sep 17, 2003 at 03:17

Thanks :yes: ! Now I know why people told me to draw a quad through triangles in OpenGL :D !!!