Advertisement

D3D's Flexible Vertex Format

Started by January 16, 2000 08:45 AM
3 comments, last by Facehat 25 years, 1 month ago
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
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
---Ranok---
Advertisement
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
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
THAT SUCKS, that cards fast too, too bad I guess. Must be a poorly written driver? maybe it will be changed.

This topic is closed to new replies.

Advertisement