2016-12-14 56 views
0

我需要創建一個OpenGL ES 2.0應用程序使用以下規格的紋理:創建的OpenGL ES紋理具有兩個float16值(初級)

  • 每個像素具有兩個組件(允許調用它們R和G在片段着色器)。
  • 每個像素分量都是16位浮點數。
  • 這意味着紋理中的每個像素都有4個字節(每個組件2個字節/ 16位)。
  • 片段着色器應該能夠將紋理作爲2個float16組件進行採樣。
  • 所有格式必須在OpenGL ES 2.0上支持並儘可能高效。

相應的glTexImage2D調用如何顯示?

問候

回答

0

無論浮點紋理也不浮點渲染目標在OpenGL ES 2.x的支持因此簡短的回答是「你不能做你想做的事情」,至少不是在本地。

您可以通過將成對值裝入RGBA8紋理或渲染目標(例如,一對RG值是一個值,BA是另一個值,但是您必須打包/解包8位組件,才能使用自己的着色器代碼。例如,在延遲渲染G緩衝區中,這是相當常見的解決方案,但在一些低端移動GPU部件上可能相對昂貴(因爲它基本上只是開銷,而不是有用的渲染)。