Skip to main content
gamedev.net
🔒 Locked

vertex cache question

Started by LordFallout Aug 6, 2007 at 7:56 AM 1 replies 600+ views
Original Post
LordFallout
LordFallout
Hey, i'm not 100% sure what vertex cache management is so just thought i would try to clear some things up in my head. I was just wondering what exactly should a vertex cache management system is supposed to do? I believe it should re-arrange vertices before they are rendered so they can be rendered in batches? Also are they entirely necessary, when using indexed triangle lists?
ldeej
ldeej
There are several answers to your question.

The first part is that for performance reasons you want to minimize render state changes when rendering geometry, meaning that you want to batch render calls based on certain attributes (i.e. batch based on material), if you look up the ATI or NVIDIA sites you will find presentations on how to group your render calls to improve performance.

The second part is about the vertex cache on the video card. You can rearrange your vertices to better utilize the video card vertex case, this rearrangement depends on the video card you are running on, and DX provides some easy to use functions to do this.

Note that these are two different systems, the first is basically a system that sorts/groups your render calls to minimize state changes.

The second is a system that rearranges your vertex buffers/index buffer pairs depending on the graphics card you are running on.

Hope this helps
LordFallout
LordFallout
Great, yeah i thought that was what it should do, i'm currently working on mine to group vertices together based on texture or material as this should allow for a minimal number of state changes, at least i hope so. .

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.