glGetTexImage

glGetTexImage是基於計算機語言的返回一個紋理圖像的函式。

簡介,語法,參數,備註,

簡介

glGetTexImage 函式返回一個紋理圖像。

語法

void WINAPI glGetTexImage(
GLenum target,
GLint level,
GLenum format,
GLenum type,
GLvoid *pixels
);

參數

目標
指定要獲取的紋理。 接受了 GL_TEXTURE_1D 和 GL_TEXTURE_2D。
級別
所需的圖像的級別的詳細信息數量。 級別 0 是基礎映像級別。 級別 n 是 n 次 mipmap 減少圖像。
格式
返回的數據的像素格式。 受支持的格式是 GL_RED、 GL_GREEN、 GL_BLUE、 GL_ALPHA、 GL_RGB、 GL_RGBA、 GL_LUMINANCE、 GL_BGR_EXT、 GL_BGRA_EXT 和 GL_LUMINANCE_ALPHA。
類型
一種像素為返回的數據的類型。 GL_UNSIGNED_BYTE、 GL_BYTE、 GL_UNSIGNED_SHORT、 GL_SHORT、 GL_UNSIGNED_INT、 GL_INT 和 GL_FLOAT 的受支持的類型。
像素
返回紋理圖像。 應由 類型 指定的類型的數組指針
返回值
返回以下錯誤代碼和他們的條件。
返回代碼
說明
GL_INVALID_ENUM
目標、 格式 或 類型 不被接受的值。
GL_INVALID_VALUE
級別 小於零或大於 日誌 2 (最大),其中 最大值 是 GL_MAX_TEXTURE_SIZE 返回的值。
GL_INVALID_OPERATION
調用 glBegin 和 glEnd 的相應調用之間被調用該函式。

備註

glGetTexImage 函式返回紋理圖像的像素值。 target參數用來指定所需的紋理圖像是一個指定過的 glTexImage1D (GL_TEXTURE_1D) 或 glTexImage2D (GL_TEXTURE_2D)。 level 參數指定所需的圖像的級別的詳細信息數量。 format 和 type參數指定的格式和所需的圖像數組的類型。format 和 type 參數的可接受的值的說明請分別看 glTexImage1D 和 glDrawPixels的函式描述。
glGetTexImage 操作表明所獲取的矩形紋理圖像是一個 RGBA 顏色緩衝區。 和glGetTexImage 的參數相同的 glReadPixels 調用具有相同的 format和 type,用 x 和 y 設定為零 寬度 設定為 (包括框線,如果已指定) 的紋理圖像的寬度和 高度 設定為一個一維圖像或紋理圖像的高度 (包括框線如果已指定) 的二維圖像。
內部的紋理圖像是 RGBA 的圖像像素格式,像素類型GL_COLOR_INDEX、 GL_STENCIL_INDEX 和 GL_DEPTH_COMPONENT , GL_BITMAP 不被接受。
如果所選的紋理圖像並沒有第四個參數將套用以下映射。 單組分紋理是被視為紅色 RGBA 緩衝區設定為單組件值和綠色,藍白 alpha 設定為零。
兩個組件紋理被視為 RGBA 緩衝區設定為零,alpha 設定為組件之一,值組件值的紅色和綠色和藍色將設定為零。 最後,三分量紋理是被視為紅色設定為組件為零綠色 RGBA 緩衝區設定為一個藍色設定為兩個,組件的組件和 alpha 設定為零。
要確定所需的 像素 大小,使用 glGetTexLevelParameter 確定了內部的紋理的圖像的尺寸,然後通過所需的 格式 和 類型 的基礎的每個像素的存儲擴展所需的像素數。 一定要考慮到帳戶特別是 GL_PACK_ALIGNMENT 的像素存儲參數。
如果生成了一個錯誤,則是對 像素為單位) 的內容不進行任何更改。

相關詞條

熱門詞條

聯絡我們