Archived

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

D3D's Flexible Vertex Format

This topic is 6574 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been having trouble with the Flexible Vertex Format in D3D. Whats the problem? Well, it works, but using it drops my framerate from 75FPS to 8FPS on my creative labs GeForce Annihilator Pro (and thats only drawing one triangle!). I tried using the RGB device, and with that it runs at the same speed as when I'm using the regular D3DVERTEX (25FPS). Heres the vertex structure:

struct Vertex3D
{
	Real x, y, z;
	Real nx, ny, nz; //normals for the vertex
	Real tu1, tv1;
	Real tu2, tv2;
};

 
and here is what the format description I'm giving to DrawPrimitive: #define CUSTOMVERTEX D3DFVF_XYZ / D3DFVF_NORMAL / D3DFVF_TEX2 Any ideas on what I'm doing wrong? --TheGoop Edited by - TheGoop on 1/16/00 8:51:43 AM

Share this post


Link to post
Share on other sites
I believe that your vertex flags should be:


#define CUSTOMEVERTEX D3DFVF_XYZ / D3DFVF_NORMAL / D3DFVF_TEX2 / D3DFVF_TEXCOORDSIZE2(0) / D3DFVF_TEXCOORDSIZE2(1)

However I am not sure as to wether or not this will fix your problem.



Edited by - Ranok on 1/16/00 9:03:16 AM

Share this post


Link to post
Share on other sites
Thanks for the response -- I got it working, but in a sort of strange, hack-like way. I tried your suggestion and it still ran at 8FPS. Anyway, just out of desperation I tried rendering the triangle as a triangle strip and it suddenely ran quickly again! Anyway, I wanted to make sure that this wasn''t just a fluke with my vertex format, so I tried using the D3DVERTEX for a triangle instead of a triangle stip (which I had been using before). The D3DVERTEX also ran at 8 fps.

So basically, if I use Triangle Strips the GeForce runs in all it''s super fast glory, but if I use Triangles (or Triangle lists) it runs like a graphics decelerator . I guess I''ll just use Triangle Strips for now.

--TheGoop

Share this post


Link to post
Share on other sites
Actually, I think I jumped to conclusions on my last statement. The triangle strips run fast -- for about 15-20 seconds. Then they drop to 8fps . Anyway, I did find a solution... I bought a TNT2 card which works great and has no problems . I''m going to send the GeForce card back since something is wrong with it (only about half the DirectX samples work, and it didn''t even work at all for a while until I got the 362 drivers).

--TheGoop

Share this post


Link to post
Share on other sites
THAT SUCKS, that cards fast too, too bad I guess. Must be a poorly written driver? maybe it will be changed.

Share this post


Link to post
Share on other sites