title: [SceneKit][Metal] Is there is ability to render transparent nodes based on depth buffer and not by rendering order
body: <p>I have a lot of transparent nodes in the scene.
  And if scene rotates in some orientations entire object blink and not rendering</p>
  
  <ol>
  <li><p>some suggest to adjust rendering order but this solving issue partially and visual bug eventually appears</p></li>
  <li><p>it's possible to uncheck "read depth" but it cause blinking and I am almost sure that this is not solution</p></li>
  </ol>
  
  <p>Question:</p>
  
  <p>is there is some correct shader that is using correct depth buffer so that transparent nodes not hiding randomly</p>
  
  <p>or is there is another proper way to solve this issue?</p>
  
  <p>PS: used Metal rendering, so in case you mention to advise some technics from OpenGL, just leave it</p>
  
  <p>thanks</p>
  
  <p>Here is sample screenshots:</p>
  
  <p>In this example to make it simple used 3 flat double sided planes with opacity 0.5, transparency can also be set with alpha Chanel of the texture. In the real project objects may have any shape, can be transparent or not, placed inside of each other or not</p>
  
  <p>crossing planes visibility issue 1: <img src="https://i.stack.imgur.com/lOePR.png" alt=""></p>
  
  <p>crossing planes visibility issue 2: <img src="https://i.stack.imgur.com/8JsKJ.jpg" alt=""></p>
  
  <p>Ok, looks like "Order Independent Transparency", A-buffer and changing fragments count per pixel should fix this
  but common, how this can be achieved? we are ok with GLSL shader until it works with SceneKit and Metal rendering</p>
  
  <p><a href="http://www.openglsuperbible.com/2013/08/20/is-order-independent-transparency-really-necessary/" rel="nofollow noreferrer">http://www.openglsuperbible.com/2013/08/20/is-order-independent-transparency-really-necessary/</a></p>