title: Outline / Silhouette rendering with OpenGL
body: <p>I know there are several techniques to achieve this, but none of them seems sufficient.</p>
  
  <ul>
  <li><p>Using a sobel / laplace filter doesn't find all the correct edges (and finds unwanted edges), is slow and doesn't give me control over the outline width.</p></li>
  <li><p>What i have settled on for now is rendering the backside of my objects first with a solid color and a little bigger than the actual objects. The result does look good, but i really want my outlines to have a constant width.</p></li>
  <li><p>I already tried rendering the backside of my objects with thick wireframe lines. Gives me a constant outline width, but line width is deprecated, produces rendering artifacts and leaves gaps, if the outline abruptly changes direction (like on a cube for example). I have not yet tried using a third rendering pass drawing a point the size of the wireframe lines for each vertex, because of the other problems with this technique.</p></li>
  </ul>
  
  <p>Any ideas?</p>
  
  <p><em>edit</em> I even looked at finding the edges myself using a geometry shader, as described in <a href="http://prideout.net/blog/?p=54" rel="nofollow">http://prideout.net/blog/?p=54</a>, but it suffers from the same gaps as the wireframe technique.</p>
  
  <p><em>edit</em> I was able to get rid of the rendering artifacts with the wireframe technique by disabling the <code>GL_DEPTH_TEST</code> while drawing the outlines. Unfortunately i also lost the outlines on overlapping objects...</p>
  
  <p>My goal is to get the same effect they use on characters in the Dragons Lair 3 game. Does anyone know how they did it?</p>