Jump to content
  • Advertisement
Sign in to follow this  
Nairou

OpenGL Culling standard? (CW vs CCW)

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

So, I know that, by default, OpenGL culls clockwise-facing (CW) triangles, and Direct3D culls counterclockwise-facing (CCW) triangles. And I know it is largely a matter of preference which culling direction you choose to use in your game.

But is one more "standardized" than the other? For example, importing geometry assets from an external tool (i.e. Maya). Do most external tools use one particular culling direction over another? Or, perhaps, do these tools generally require you to decide on one before each export?

I'm currently using OpenGL, but I always though D3D's culling of CCW faces was more intuitive. However I don't want to decide on one arbitrarily and end up having issues later where I have to edit every mesh I import from an external tool.

Share this post


Link to post
Share on other sites
Advertisement

This only happens when you don't send normals for your model...


No idea what you are on about there.

@OP Yes this can be a pain in the backside if there are different conventions at any part of your toolchain. Exporting a model from Sculptris as an OBJ then importing into MilkShape has a similar problem.

Issues with the graphics API are probably the least significant since you can change the default behaviour in D3D and OpenGL. Equally, I'm sure most of the pro modelling packages have some kind of option for this, although I'm poor so I've never used any of them.

Share this post


Link to post
Share on other sites
With OpenGL you can change glFrontFace as well as the culling mode and exactly replicate the way D3D does it, so you may as well settle on that as your standard.

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!