2016-02-04 35 views
0

在WebGl片段着色器中,我使用從32位值數組生成的紋理,但當超過7000x7000px的分辨率時,它會產生錯誤,這遠低於我的gpu 16384x16384px的最大紋理分辨率。 gl.Unsigned在更高分辨率下工作時沒有問題,但當更改爲gl.float時不會如此。這是一個已知的限制,當處理浮游物?有工作嗎?任何輸入非常讚賞。奇怪的紋理陣列緩衝區限制

我的紋理參數 - 「gl.texImage2D(gl.TEXTURE_2D,0,gl.ALPHA,8192,8192,0,gl.ALPHA,gl.FLOAT,Z_pixels)」

回答

1

7000 * 7000 * 32每個浮點位數* 4〜= 784兆字節的內存。也許這超出了你的圖形卡內存容量?

根據MSDN https://msdn.microsoft.com/en-us/library/dn302435(v=vs.85).aspx的說法,「[gl.FLOAT]爲圖像創建128位每像素紋理而不是32位/每像素。」所以它可能gl.ALPHA仍然會使用每像素128位。

+0

7000 * 7000 *每個浮點32位〜= 196兆字節 – tmw