Share via


glTexParameteri 函式

設定紋理參數。

語法

void WINAPI glTexParameteri(
   GLenum target,
   GLenum pname,
   GLint  param
);

參數

目標

目標紋理,必須是GL_TEXTURE_1D或GL_TEXTURE_2D。

pname

單一值紋理參數的符號名稱。 在 pname中接受下列符號。

意義
GL_TEXTURE_MIN_FILTER
每當紋理的圖元對應到大於一個紋理元素的區域時,就會使用紋理縮圖函式。 有六個已定義的縮數函式。 其中兩個會使用最接近的一個或最接近四個紋理元素來計算紋理值。 其他四個會使用 mipmap。
Mipmap 是一組已排序的陣列,代表以漸進方式較低的解析度表示相同的影像。 如果紋理的維度為 2nx2m ,則最大 (n,m) + 1 mipmap。 第一個 Mipmap 是原始紋理,維度為 2nx2m。 每個後續 mipmap 的維度 2k1x2l1,其中 2kx2l 是前一個 mipmap 的維度,直到 k = 0 或 l = 0 為止。 此時,後續 Mipmap 的維度為 1x2l1 或 2k1x1,直到最終 Mipmap,其維度為 1x1 為止。 Mipmap 是使用 glTexImage1DglTexImage2D 來定義,其中包含指出 mipmap 順序的詳細層級引數。 層級 0 是原始紋理;level bold max (n, m) is final 1x1 mipmap.
GL_TEXTURE_MAG_FILTER
當紋理圖元對應到小於或等於一個紋理元素的區域時,就會使用紋理放大函式。 它會將紋理放大函式設定為GL_NEAREST或GL_LINEAR。
GL_TEXTURE_WRAP_S
將紋理座標的 wrap 參數設定為 GL_CLAMP 或 GL_REPEAT。 GL_CLAMP會導致座標固定在範圍 [0,1] 中,而且在將單一影像對應至物件時防止包裝成品很有用。 GL_REPEAT會導致忽略座標的整數部分;OpenGL 只使用小數部分,藉此建立重複模式。 只有在包裝設定為 GL_CLAMP 時,才會存取框線紋理元素。 一開始,GL_TEXTURE_WRAP_S會設定為 GL_REPEAT。
GL_TEXTURE_WRAP_T
將紋理座標 t 的 wrap 參數設定為 GL_CLAMP 或 GL_REPEAT。 請參閱GL_TEXTURE_WRAP_S下的討論。 一開始,GL_TEXTURE_WRAP_T設定為 GL_REPEAT

param

pname的值。

傳回值

此函式不會傳回值。

錯誤碼

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

名稱 意義
GL_INVALID_ENUM
targetpname 不是其中一個可接受的定義值,或者 當 param 應該有已定義的常數值時, (根據 pname 的值) 且沒有。
GL_INVALID_OPERATION
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。

備註

紋理對應是一種技術,可將影像套用至物件的表面,就像影像是 decal 或 cellophane 壓縮包裝一樣。 影像會在紋理空間中建立,並具有 (st) 座標系統。 紋理是一維或二維影像,以及一組參數,可決定樣本衍生自影像的方式。

glTexParameter函式會將參數中的值或值指派給指定為 pname 的紋理參數。 目標參數會定義目標紋理,GL_TEXTURE_1D或GL_TEXTURE_2D。

由於在縮制程式中取樣的紋理元素越多,別名成品會比較少。 雖然GL_NEAREST和GL_LINEAR縮化函式可能比其他四個函式更快,但只會取樣一或四個紋理元素,以判斷所呈現圖元的紋理值,而且可以產生 Moire 模式或不完全的轉換。 GL_TEXTURE_MIN_FILTER的預設值為 GL_NEAREST_MIPMAP_LINEAR。

假設使用引數GL_TEXTURE_1D或GL_TEXTURE_2D) 呼叫 glEnable ,並GL_TEXTURE_MIN_FILTER設定為需要 mipmap 的其中一個函式,以 (啟用文字化。 如果目前定義之紋理影像的維度 (先前呼叫 glTexImage1DglTexImage2D) 未遵循 mipmap 的適當順序,或定義比所需的紋理影像少,或紋理影像集合具有不同的紋理元件數目,則它就像已停用紋理對應一樣。 線性篩選只會在 2D 紋理中存取四個最接近的紋理元素。 在 1D 紋理中,線性篩選會存取兩個最接近的紋理元素。 下列函式會擷取 與 glTexParameterfglTexParameteriglTexParameterfvglTexParameteriv相關的資訊:

glGetTexParameter

規格需求

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

另請參閱

glBegin

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D