2016-01-06 67 views
0

我想這樣做: 打開相機並點擊屏幕以獲取該區域的顏色,然後用紋理替換該顏色。我通過用另一種顏色替換屏幕上的顏色來做類似的事情(儘管如此,它仍然無法正常工作),但是我認爲用紋理替換更復雜。 所以,請有人給我一個關於如何做到這一點的提示? 另外,關於如何創建紋理。 謝謝, 亞歷克斯ios如何用紋理替換相機預覽中的顏色

回答

1

基本上你會想要在片段着色器中使用布爾操作來做到這一點。

您需要爲着色器提供兩種紋理,一種是相機圖像,另一種是替換圖像。那麼您需要一個函數來確定相機紋理中的每片段顏色是否在某個顏色範圍內(您選擇),並根據該顏色顯示相機紋理或其他紋理。

你的問題有點含糊,你應該嘗試把它分解成更小的問題。棘手的部分,如果你之前沒有做過,那麼OpenGL的樣板代碼就是正確的。

,你需要知道:

  • 如何編寫,編譯和使用基本GLSL着色器
  • 如何將圖像加載到OpenGL紋理和着色器使用它們(搜索sampler2d)

好的第一步是做到以下幾點: 弄清楚如何使用2D幾何體將紋理顯示爲平坦的全屏圖像。您需要渲染兩個三角形,並將紋理的座標(UV)映射到三角形點上。

如果按照本教程中,你就可以做你想做的東西: http://www.raywenderlich.com/70208/opengl-es-pixel-shaders-tutorial