title: OpenGL - don't write depth if alpha
body: <p>What I'm want to do in OpenGL using C++ and GLSL:
  When texture has alpha (texture.a! = 1.0;) then this pixel is not written to the depth buffer. (for color buffer it is written) 
  Write depth occurs only when a pixel texture.a == 1.0;</p>
  
  <p>Discarding in shader is not a solution - then this pixel is not written to color buffer.</p>
  
  <p>Any ideas?</p>
  
  <p>@UPDATE:
  Example: I've got some UI images rendered by OpenGL. Some of them have alpha in corners.
  In scene rendering I have "depth prepass" to save some pixels by not calculating light on them.
  I want to also get UI images to that prepass - but only completely opaque pixels (alpha = 1.0).</p>