# Double sides face with two normals

I think this isn't possible, but I just want to check this:

Is it possible to create a face in opengl that has two normals?

So: I want the inside and outside of some cilinder to be drawn, but I want the lights to do as expected and not calculate it for the normal given. I was trying to do this with backface culling off, so I would have both faces, but the light was wrongly calculated of course. Is this possible, or do I have to draw an inside and an outside? So draw twice?

• Are you using shaders? – Notabene Mar 2 '11 at 17:05
• You can add second triangle in geometry shader with opposite vertex order (CCW or CW) and with opposite normal vector. – zacharmarz Mar 2 '11 at 17:18
• @zacharmarz, I know that I can draw 2 faces, but that is what I want to avoid. If the answer is: no it can't, than it can't. – Marnix Mar 2 '11 at 17:23
• @notabene: No not yet, but I would like to have answer for both then =) – Marnix Mar 2 '11 at 17:24

There is also another way to do it in pixel shader (which is considered to be easier than gs), but it is buggy. You can use abs(n dot l) in phong, but it will cause that the side of the triangle which should be lighted just with ambient light is also lighted with diffuse light.