Archived

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

nes8bit

VertexBuffer TNL

Recommended Posts

Are vertex buffers required to be used if you want to get full TNL support? I read some nvidia doc and it said it was recommended. Since I do not have a TNL card I cannot check it. Also, if I am passing on or two triangles to a VertexBuffer then tansforming it then rendering it, would it be slower than just using DrawPrimitive?

Share this post


Link to post
Share on other sites
You are not required to use vertex buffers to utilize TnL, DrawPrimitive() is accelerated as well. When using TnL and vertex buffers you shouldn''t use Process() (Or is it ProcessVertices()?) as it doesn''t utilize the TnL.

If you are only rendering two triangles with each DrawPrimitive() then it would probably be faster to skip vertex buffers. Vertex buffers should be used for primitives where vertices are shared by several triangles, so that the vertices aren''t transformed more than once.

Share this post


Link to post
Share on other sites
hi

They might not be needed, but wehn i let my Programm run on GeForce DDR, with TnL enabled, it slowed down extremly.
I used the DrawPrimitve Methods, to draw big Objects ( around 2000 Triangles ).
I think the Problem with DrawPrimitive is, that your Vertexdata lies in conventional Memory, and every Time you render, it has to be transferred to the accelerator because the TnL unit only works with the VideoMemory. But when using VertexBuffers, you can create them in Video Memory, and so the Cards TnL Unit has direct Access to the Data.

But i never tested my rewritten Engine with VertexBuffers, so it might be another Problem with my code...

Lars

Share this post


Link to post
Share on other sites