glFogiv 函式

glFogfv函式會指定模糊參數。

語法

void WINAPI glFogiv(
         GLenum pname,
   const GLint  *params
);

參數

pname

指定模糊參數。

接受下列其中一個值。

意義
GL_FOG_MODE
params參數是單一整數值,指定要用來計算模糊混合因數f的方程式。 接受三個符號常數:GL_LINEAR、GL_EXP和GL_EXP2。 對應至這些符號常數的方程式定義于下列一節中。 預設的水氣模式GL_EXP。
GL_FOG_DENSITY
params參數是單一整數值,可指定密度,這兩個指數型模糊方程式中使用的模糊密度。 只接受非負密度。 預設的空氣密度為 1.0。
GL_FOG_START
params參數是單一整數值,指定開始,也就是線性模糊方程式中使用的接近距離。 預設接近距離為 0.0。
GL_FOG_END
params參數是單一整數值,指定線性模糊方程式中使用的遠距離。 預設距離為 1.0。
GL_FOG_INDEX
params參數是單一整數值,指定if ,即水氣色彩索引。 預設的模糊索引為 0.0。
GL_FOG_COLOR
params參數包含四個整數或浮點值,可指定Cf 、水氣色彩。 整數值會以線性方式對應,讓最正表示的值對應至 1.0,而最負數表示的值會對應至 -1.0。 浮點值會直接對應。 轉換之後,所有色彩元件都會固定在範圍 [0,1]。 預設的 (0,0,0,0) 。

params

指定要指派給 pname的值或值。 GL_FOG_COLOR需要四個值的陣列。 所有其他參數都接受只包含單一值的陣列。

傳回值

此函式不會傳回值。

錯誤碼

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

Name 意義
GL_INVALID_ENUM
pname 不是接受的值。
GL_INVALID_OPERATION
對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。

備註

您可以使用引數GL_FOG,啟用和停用 glEnableglDisable的模糊。 啟用時,水氣會影響點陣化幾何、點陣圖和圖元區塊,但不會影響緩衝清除作業。

glFogiv函式會將params中的值或值指派給pname所指定的模糊參數。

模糊會使用混合因數 f來混合每一個點陣化圖元片段的後置文字色彩。 Factor f 是以三種方式之一計算,視水氣模式而定。 讓 z 成為眼球座標中從原點到被模糊片段的距離。 GL_LINEAR水的方程式為:

Equation showing the value of the blending factor in GL_LINEAR fog mode as a function of distance.

GL_EXP水的方程式為:

Equation showing the value of the blending factor in GL_EXP fog mode.

GL_EXP2水的方程式為:

Equation showing the value of the blending factor in GL_EXP2 fog mode.

不論水氣模式為何, f 都會在計算後固定在範圍 [0,1]。 然後,如果 OpenGL 處於 RGBA 色彩模式,片段的色彩Cr會取代為

Equation showing the fogged fragment's color as a function of blending factor and fog color.

在色彩索引模式中,片段的色彩索引ir會取代為

Equation showing the fogged fragment's color index as a function of blending factor and indexed color.

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

具有引數的glGet GL_FOG_COLOR

glGet 與引數GL_FOG_INDEX

glGet 與引數GL_FOG_DENSITY

glGet with argument GL_FOG_START

glGet with argument GL_FOG_END

glGet with argument GL_FOG_MODE

glIsEnabled 搭配引數GL_FOG

規格需求

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

另請參閱

glBegin

glDisable

glEnable

glEnd

glGet

glIsEnabled