Jump to content
  • Advertisement
Sign in to follow this  
Fidde

Fast skinning..

This topic is 4837 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

Hi! I have an optimization question regarding animation and skinning. What would be the best way of organizing the data? I mean, if you would skinn the mesh by just iterate through an, say, continious mesh, it would´nt be very optimized for the cache. We would end up pushing/popping matrices off the processor. If we would process the weights in a "bone-major" fashion, the mesh would be read in a very scattered manner. My intension is to send all the data to a shader to do all the expensive matrix mutliplication there. So, any thoughts? /Fidde

Share this post


Link to post
Share on other sites
Advertisement
The DirectX Skinning Demo (TINY.X) renders wery fast (ABOUT 2000 FPS on Radeon 9800 with 2x 4500 Polygons).

Which method you will pick it's in your decision. They are all fast. I believe it's best to pick HLSL, because you might integrate some pixel shader solutions to it.

The Skinned mesh demo also takes in account vertex cache optimizations (OptimizeMeshInPlace(...)). Which makes the rendering very fast. There is no better solution than vertex cache. Radeon cards perform better on NON INDEXED skinning, while NVIDIA Cards perform better with INDEXED or HLSL.

Share this post


Link to post
Share on other sites
Quote:
Original post by Samurai Jack
Radeon cards perform better on NON INDEXED skinning, while NVIDIA Cards perform better with INDEXED or HLSL.

What makes the difference if the vertices are indexed or not? If a vertex is indexed, it just means it shares the same position as other vertices. But since all equal indexed vertices are combined into a single vertex, you only have to transform it once. If they were not indexed, you would have to transform every vertex from 4 to 8 times.

I think. I'm half asleep :P

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!