[英]opengl glTexSubImage for texture arrays
對於 1D 和 2D 紋理,我們只有一個圖像,並且要在特定的 mipmap 上獲取圖像,我們可以調整 level 參數
但是對於 1D 和 2D Arrays,即使文檔指定您可以使用這些數組標志作為有效參數,他們也沒有告訴我們如何使用它從 1D 和 2D 數組中讀取圖像
假設我將 mipmap 級別指定為 5
by using
glTexParameteri(GL_TEXTURE_1D_ARRAY,GL_TEXTURE_BASE_LEVEL,0);
glTexParameteri(GL_TEXTURE_1D_ARRAY,GL_TEXTURE_MAX_LEVEL,5);
我使用自動生成 mipmap
glGenerateMipmap(GL_TEXTURE_1D_ARRAY);
我的 texture1D 數組有 5 個 1D 圖像,這將給我 5 * 5 = 25 個圖像[數組中每個圖像的 5 mip map 級別]
如何使用 glGetTexImage() 讀取特定數組索引和 mipmap 級別的圖像? 假設我想讀取陣列中第二個圖像的第三個 mip map 級別,我該怎么做?
一維數組紋理基本上是二維紋理,二維數組紋理基本上是 3D 紋理當涉及到 OpenGL API 函數給你 x,深度偏移參數和高度,z
因此,為了訪問一維數組紋理上第八個數組層的第四個 mip 級別,從 x-offset = 50 texels 開始並讀取 800 texels 寬的行,您將使用以下調用:
glGetTextureSubImage(
texture,
3, // <- we want the fourth mip-level
50, // <- there, we want to start at x-offset = 50 texels
7, // <- we want the eighth array layer
0, // <- irrelevant for 1D array textures
800,// <- we want to read 800 texels (starting from 50)
1, // <- we want 1 array layer
1, // <- must use 1
format,
type,
bufSize,
pixels)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.