Single Sided Polygons

Is there a way to make polygons single sided during render time? I need it to apply diferent materials to the opposite sides of one surface. The idea was to:

  1. Apply a material
  2. Duplicate the object
  3. Flip the normals
  4. Apply another material
  5. Optionaly merge them into one object again

Unfortunately, whatever I do, I just can’t get the bloody thing to render only the sides with positive normals. So I always end up with coplanar polygons, and artifacts in final render as a consequence.

The only workaround that comes to my mind is “blend” texure for alpha channel mapped to “normal” coordinates. With sharp gradient in the blend should “turn off” any faces viewed from 90° or higher angle.
But it’s quite a pain in the behind to even think about it, not to mention setting it up.

So my question is: How to render single sided polygons? or How to apply different material to each side of polygonal surface?

Thanks for help

You need to make one of the Meshes slightly smaller to prevent Z-Fighting. There’s a Script under Mesh that makes the second ‘skin’ for you; Solidify Selection.


If you can separate your lighting/shading from your texturing, you can use the node setup described here:

render one pass textures only with no vertex flipping and another with your lighting with vertex flipping and then multiply them in the compositor. If the geometry node had an option for unflipped normals it would be pretty easy to do.

If you are using SVN version, you can use nodes to do that. See for more information.