PDA

View Full Version : Shapes in DirectX


TheLionKing
09-15-2003, 09:48 PM
Hi,

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:

Dia Kharrat
09-15-2003, 10:03 PM
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
09-16-2003, 05:48 AM
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
09-16-2003, 07:13 AM
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]

werd?
:yes:

baldurk
09-16-2003, 11:28 AM
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
09-16-2003, 08:17 PM
Thanks :yes: ! Now I know why people told me to draw a quad through triangles in OpenGL :D !!!