共用方式為


glGetTexImage 函式

glGetTexImage函式會傳回紋理影像。

語法

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

參數

目標

指定要取得的紋理。 接受GL_TEXTURE_1D和GL_TEXTURE_2D。

level

所需影像的詳細資料層級編號。 層級 0 是基底映射層級。 層級 n第 n個 mipmap 縮減影像。

format

傳回資料的像素格式。 支援的格式為GL_RED、GL_GREEN、GL_BLUE、GL_ALPHA、GL_RGB、GL_RGBA、GL_LUMINANCE、GL_BGR_EXT、GL_BGRA_EXT和GL_LUMINANCE_ALPHA。

type

所傳回資料的圖元類型。 支援的類型包括GL_UNSIGNED_BYTE、GL_BYTE、GL_UNSIGNED_SHORT、GL_SHORT、GL_UNSIGNED_INT、GL_INT和GL_FLOAT。

圖元

傳回紋理影像。 應該是 別所指定型別陣列的指標。

傳回值

此函式不會傳回值。

錯誤碼

glGetError函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_ENUM
目標格式類型 不是可接受的值。
GL_INVALID_VALUE
level 小於零或大於 log2 (max) ,其中 max 是傳回GL_MAX_TEXTURE_SIZE的值。
GL_INVALID_OPERATION
對 glBegin 的呼叫與 glEnd 的對應呼叫之間呼叫函式。

備註

glGetTexImage函式會將紋理影像傳回為圖元目標參數會指定所需的紋理影像是glTexImage1D所指定的影像 (GL_TEXTURE_1D) glTexImage2D (GL_TEXTURE_2D) level參數會指定所需影像的詳細資料層級編號。 格式類型參數會指定所需影像陣列的格式和類型。 如需 格式類型 參數可接受的值描述,請參閱 glTexImage1DglDrawPixels

將選取的內部四元件紋理影像視為影像大小的 RGBA 色彩緩衝區,即可充分瞭解 glGetTexImage 的作業。 glGetTexImage的語意接著會與具有相同格式類型的glReadPixels相同、xy設定為零、寬度設定為包含框線的寬度, (包括框線,如果指定) ,而高度設定為 1D 影像的 1D 影像,或設定為紋理影像的高度, (包括框線, 如果 2D 影像) 指定一個。

由於內部紋理影像是 RGBA 影像,因此不接受像素格式GL_COLOR_INDEX、GL_STENCIL_INDEX和GL_DEPTH_COMPONENT,且不接受圖元類型GL_BITMAP。

如果選取的紋理影像不包含四個元件,則會套用下列對應。 單一元件紋理會被視為 RGBA 緩衝區,並將紅色設定為單一元件值,而綠色、藍色和 Alpha 設定為零。

雙元件紋理會被視為 RGBA 緩衝區,並將紅色設定為元件零的值、Alpha 設定為元件 1 的值,而綠色和藍色設定為零。 最後,會將三個元件紋理視為 RGBA 緩衝區,並將紅色設定為零、綠色設定為元件 1、藍色設定為第二個元件,而 Alpha 設定為零。

若要判斷 所需的圖元大小,請使用 glGetTexLevelParameter 來確認內部紋理影像的維度,然後根據 格式類型,依每個圖元所需的儲存空間來調整所需的圖元數目。 請務必考慮圖元儲存體參數,特別是GL_PACK_ALIGNMENT。

如果產生錯誤,則不會對 圖元的內容進行任何變更。

下列函式會擷取 與 glGetTexImage相關的資訊:

glGet 搭配引數GL_PACK_ALIGNMENT和其他專案

glGetTexLevelParameter 搭配引數GL_TEXTURE_WIDTH

glGetTexLevelParameter 搭配引數GL_TEXTURE_HEIGHT

glGetTexLevelParameter 搭配引數GL_TEXTURE_BORDER

glGetTexLevelParameter 搭配引數GL_TEXTURE_COMPONENTS

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glBegin

glDrawPixels

glEnd

glGetTexLevelParameter

glReadPixels

glTexImage1D

glTexImage2D