Jump to content
  • Advertisement
Sign in to follow this  
pradipb

Unity Mobile Software Renderer - Use of triangle strip

This topic is 3754 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 am trying to develop a software renderer for mobile devices. My development language is C++. The target platform is BREW and target processor is ARM 7(no floating point support). I have thought of using triangle strips for rendering meshes. I was going through some articles on gamedev.net regarding use of triangle list over triangle strips : http://www.gamedev.net/community/forums/topic.asp?topic_id=456455 http://www.gamedev.net/community/forums/topic.asp?topic_id=300087 I know that although these articles have mentioned rendering using GPU (which is not available in my case), still i would like to know is there any problem using triangle strips for software rendering. The reason why i thought of using triangle strips is bcoz i can store previously transformed vertex positions. So i dont need to re-tranform the same vertex positions again for a new triangle which shares the same vertices. Pls do let me know any information regarding this. Thnkx in advance

Share this post


Link to post
Share on other sites
Advertisement
You don't need triangle strips for that and, in fact, triangle strips are generally not preferred anymore due to the difficulty of generating optimal strips from a mesh (and how little, if any, gain there is on modern graphics cards). Triangle strips have a small advantage only because they make more optimal use of the limited vertex cache.

What you really want to do in a software 3D engine is to avoid performing transformation on a vertex more than once. An indexed vertex buffer is a better choice for this. Instead of processing each triangle as 3 vertices, you put *all* vertices of a given mesh into a buffer and transform them all in one fell swoop. Then, triangles are defined by 3 indices into the output vertex buffer (which have already been transformed) so each triange is just 3 simple look-ups.


I recall this page having a lot of good information of software rendering and the software transformation pipeline in particular... The articles you want to read are "The Poly Pipeline" and "The way your 3D engine should be".

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!