2011-10-19 165 views
4

我發現或試圖呈現輪廓在OpenGL使用一些功能未在OpenGL ES的avaliable每一個技術圖紙大綱...與OpenGL ES的

實際上是設置depthMask假我能做些什麼,將對象繪製爲3像素寬的線框,重新啓用depthMask,然後繪製我的對象。它不適用於我,因爲它僅勾勒出我的對象的外部部分,而不是內部。

下圖顯示了兩個輪廓,左邊是正確的輪廓,右邊是我得到的。

enter image description here

因此,有人可以告訴我去那不就是avaliable上的OpenGL ES的技術?

回答

4

有一段時間沒有完成其中一個,但我認爲你快到了!我會推薦這樣的:

  • 保持depthMask啓用,但是將你的背面剔除翻轉爲僅渲染對象的「內部」。
  • 使用該着色器繪製網格,將所有垂直線沿着它們的法線稍微推出並作爲純色(您的輪廓顏色,可能是黑色)。確保你畫的是實心三角形,而不僅僅是GL_LINES。
  • 將背面剔除翻轉回正常並像往常一樣重新渲染網格。

結果是隻有在三角形開始遠離相機的網格上的點上纔會顯示輪廓。這給你一些很好的,簡單的輪廓,如鼻子,下巴,嘴脣和其他內部細節。

+0

我要試一下,謝謝。 –