   Per-material culling setting
  Of late, we have been getting some requests to implement "double sided" materials in our 3D modeling package. Effectively, this means turning culling on/off per material. I have always been under the impression that implementing culling on a per-material basis is a bad idea, and as a rule of thumb you should just always use culling (and build double sided geometry where needed). However, I was wondering what the 'general consensus of the community' was on this topic.Am I dead wrong here? Is everyone using non-culling materials in their games (for things like transparent/semi-transparent)? Does the reduced polycount outweight the extra material state (splitting up the rendered batches)? Are there any rendering artifacts I am not aware of that can only be resolved using non-culled rendering? Any feedback is most appreciated.   
  What I do is for two-sided materials, which are only supported in my engine for static geometry, simply create the extra backfacing at level build time.This is mainly useful for glass & plastic walls.If you are doing proper lighting, it's not enough to turn off culling - your normals will be off as well.   ;  Ah, forgot about the normals, good point (taking notes).Your custom solution sounds good, our exporters could take care of this on the fly. Then again, I still think it would be better if the user just creates both sides of the geometry himself, our modeler interface should make this trivial. I guess it comes down to this: you don't need an extra concept (culling) to create two-sided geometry, so I'd rather keep things simple and not introduce it. AFAIK there is not significant overhead.   ;If you have transparent and non-transparent materials, you're going to need to break batches anyway to change blend modes, so why not just flip the culling per material.  The extra state change call isn't going to produce that much extra overhead, and if you have a lot of complicated objects in your scenes, then you definitely need the culling.JB   