發表文章

目前顯示的是 2月, 2014的文章

OpenGL Float texture 實驗

最近在寫一個智慧剪圖的 app  Cutto , 裡面因為需要執行大量的影像處理,所以有非常多的浮點運算,需要用 OpenGL 來維持使用的流暢度。在使用 OpenGL 來做計算的時候,input 常常是是以一個圖像(或稱 texture)的方式來輸入。對 Cutto 來說,input 必須要是浮點數,因此驗證 iPhone 是否志願 float textures 就變得很重要了。 下面的實驗結果證實在 iPhone 4S 以上的裝置上,GL_FLOAT 或是 GL_HALF_FLOAT_ES 的 texture 都是支援的。這個結果真是欣慰! 不過順帶一提的是,假如我們的 output 也要是浮點數怎麼辦?答案是在 OpenGL 裏,所有浮點 texture 都不是 color-renderable  OpenGL ES 3.0 spec Table 3.12 ,也就是不能當作 output render to FrameBuffer object。唯一的辦法是自己做  floating point pack in glsl 。看起來 OpenCL 真的是有他的需求在,希望 apple 趕快在 iOS 上支援啊。 下面是實驗的 code: