in order to come close to 10 or 15 million tris per second on your card you will have to use a triangle strips and store the vertex-data and color-data (etc) in arrays on the AGP memmory.
depending on what you are drawind start of with triangle strips, those are simple and fast. then try arrays… im currently working with arrays myselfe…
i am using arrays under AGP under Linux, using normals triangles. All is over some display lists as i can’t get some correct rendering directly without that…
you told that i could stand 10 to 15M/s ? does strip are so fast ???
don’t forget that this benchmark-triangles are also not bigger than 8x8 pixels (means: low fillrate) and in most cases they also are rendered with everything turned off (no blending, no z-testing, no texturung, no interpolation…).
So this benchmarks mostly shows only the results of some “fastest-possible-mode”, and they have nothing to do with the reality of 3D programming… it’s just marketing.
Give triangle strips a try. When the strip gets large enough you approach ~1 vertex / triangle. Stitch unconnected tristrips together using degenerate triangles.
Let’s say you’ve got tristrip A,B,C,D and E,F,G - and they’re not connected.
A,B,C - 1st triangle
B,C,D - 2nd triangle
C,D,D - 3rd triangle (not drawn, it’s degenerate)
D,D,E - 4th tri, not drawn
D,E,E - 5th tri, not drawn
E,E,F - 6th tri, not drawn
E,F,G - 7th tri
No, they’re not needed, but they help. You should try to make your strips as long as possible. If you have many small strips it’s useful to join them together using “invisible” (degenerate) triangles as I described. The Geforce can really quickly detect degenerate triangles (2 indicies are the same) and not draw them. Degenerate tris are just a trick to make strips longer by joining smaller ones together, that’s all.
ah, it’s very interressant. i feel fool…
so, your drawing time will approach more & more to how many nb of tri u got. So it could maybe be drawn 3 more faster …