glCopyTexImage2D 函式

glCopyTexImage2D函式會將圖元從 framebuffer 複製到二維紋理影像中。

語法

void WINAPI glCopyTexImage2D(
   GLenum  target,
   GLint   level,
   GLenum  internalFormat,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height,
   GLint   border
);

參數

目標

影像資料將變更的目標。 必須具有值GL_TEXTURE_2D。

level

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

internalFormat

紋理資料的內部格式和解析度。 internalFormat不接受 1、2、3 和 4 的值。 參數可以假設下列其中一個符號值。

常數 R 位 G 位 B 位 L 位 I 位
GL_ALPHA
GL_ALPHA4 4
GL_ALPHA8 8
GL_ALPHA12 12
GL_ALPHA16 16
GL_LUMINANCE
GL_LUMINANCE4 4
GL_LUMINANCE8 8
GL_LUMINANCE12 12
GL_LUMINANCE16 16
GL_LUMINANCE_ALPHA
GL_LUMINANCE4_ALPHA4 4 4
GL_LUMINANCE6_ALPHA2 2 6
GL_LUMINANCE8_ALPHA8 8 8
GL_LUMINANCE12_ALPHA4 4 12
GL_LUMINANCE12_ALPHA12 12 12
GL_LUMINANCE16_ALPHA16 16 16
GL_INTENSITY
GL_INTENSITY4 4
GL_INTENSITY8 8
GL_INTENSITY12 12
GL_INTENSITY16 16
GL_RGB
GL_R3_G3_B2 3 3 2
GL_RGB4 4 4 4
GL_RGB5 5 5 5
GL_RGB8 8 8 8
GL_RGB10 10 10 10
GL_RGB12 12 12 12
GL_RGB16 16 16 16
GL_RGBA
GL_RGBA2 2 2 2 2
GL_RGBA4 4 4 4 4
GL_RGB5_A1 5 5 5 1
GL_RGBA8 8 8 8 8
GL_RGB10_A2 10 10 10 2
GL_RGBA12 12 12 12 12
GL_RGBA16 16 16 16 16

x

要複製之圖元矩形區域左下角的視窗 X 平面座標。

y

要複製之圖元矩形區域左下角的視窗 Y 平面座標。

寬度

紋理影像的寬度。 某些整數n必須是 2n + 2 *框線

height (高度)

紋理影像的高度。 某些整數n必須是 2n + 2 *框線

邊境

框線的寬度。 必須是零或 1。

傳回值

此函式不會傳回值。

錯誤碼

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

名稱 意義
GL_INVALID_ENUM
target 不是接受的值。
GL_INVALID_VALUE
level 小於零或大於 log2 max,其中 max 是傳回GL_MAX_TEXTURE_SIZE的值。
GL_INVALID_VALUE
框線 不是零或 1。
GL_INVALID_VALUE
width 小於零,大於 2 + GL_MAX_TEXTURE_SIZE,或 寬度 不能以 2n + 2 * 框線 表示某些整數 n
GL_INVALID_OPERATION
對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。

備註

glCopyTexImage2D函式會使用來自目前框架緩衝區的圖元來定義二維紋理影像,而不是從主要記憶體定義,如同glTexImage2D的情況。

使用 層級指定的mipmap 層級,紋理陣列會定義為圖元矩形,其左下角位於 座標 xy寬度等於寬度 + (2 * 框線) ,高度等於 高度 + (2 * 線) 。 紋理陣列的內部格式是使用 internalFormat 參數來指定。

glCopyTexImage2D函式會以與 glCopyPixels相同的方式處理資料列中的圖元,不同之處在于,在圖元的最終轉換之前,所有圖元元件值都會固定在範圍 [0,1] 並轉換成紋理的內部格式,以便儲存在紋理陣列中。 圖元順序是以較低的 xy 座標來決定,其對應至 較低 st 紋理座標。 如果目前框架緩衝區指定資料列中的任何圖元位於與目前轉譯內容相關聯的視窗之外,則其值未定義。

您無法在顯示清單中包含 glCopyTexImage2D 的呼叫。

注意

glCopyTexImage2D函式僅適用于 OpenGL 1.1 版或更新版本。

著色器在色彩索引模式中沒有任何作用。 glPixelStoreglPixelTransfer函式會以完全影響glDrawPixels的方式影響紋理影像。

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

glIsEnabled with argument GL_TEXTURE_2D

規格需求

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

另請參閱

glBegin

glCopyTexImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter