我有一系列紋理堆疊在一起(使用mip-map樣式的分辨率金字塔)以獲得最終圖像。嘗試將WebGL紋理清除爲純色
因爲他們堆棧的方式,這是必要的,當他們沒有被有意義的圖像數據填充到它們初始化到128的無符號int值。 IE 128的值爲零,因爲渲染着色器會從每個紋理值中減去.5,從而允許後續的金字塔圖層通過正值或負值偏移最終圖像。
我似乎無法弄清楚如何(單聲道GL_LUMINANCE)質地初始化值!
我試着將它設置爲渲染目標和渲染多邊形到它,但FBO似乎被標記爲未完成。我也嘗試將其定位爲渲染緩衝區目標並使用gl.clear(gl.COLOR_BUFFER_BIT),但它又被認爲是不完整的。
最明顯的一點是,使用gl.texSubImage2D(複製值),但似乎很慢......也許這是唯一的辦法?我希望有一些更優雅的東西,它不需要分配太多的內存(至少是一幀值得一個值),而且太慢了(因爲所有數據都必須寫入緩衝區,只要它是單個值)。
將紋理設置爲WebGL的一個(默認)值的唯一方法似乎是調整其大小,或者將它分配,它設置爲全零。
此外,似乎沒有像gl.SIGNED_BYTE這樣允許零爲零(IE,有符號值進來)的複製模式......但這也不能解決初始化問題紋理到單個值(在這種情況下,爲零)。
任何想法?如何將WebGL紋理初始化爲值,而不僅僅是將值複製到其中?