glPushAttrib 関数
属性スタックをプッシュします。
構文
void WINAPI glPushAttrib(
GLbitfield mask
);
パラメーター
-
mask
-
保存する属性を示すマスク。 シンボリック マスク定数とそれに関連付けられている OpenGL 状態は次のとおりです (属性が保存されるインデントされた段落の一覧)。
-
GL_ACCUM_BUFFER_BIT
-
累積バッファークリア値
-
GL_COLOR_BUFFER_BIT
-
GL_ALPHA_TESTビットを有効にする
アルファ テスト関数と参照値
GL_BLENDビットを有効にする
ソース関数と変換先関数のブレンド
GL_DITHERビットを有効にする
GL_DRAW_BUFFER設定
GL_LOGIC_OPビットを有効にする
ロジック操作関数
色モードとインデックス モードのクリア値
カラー モードおよびインデックス モードの書き込みマスク
-
GL_CURRENT_BIT
-
現在の RGBA の色
現在の色のインデックス
現在の法線ベクトル
現在のテクスチャ座標
現在のラスター位置GL_CURRENT_RASTER_POSITION_VALID フラグ
現在のラスター位置に関連付けられている RGBA の色
現在のラスター位置に関連付けられている色インデックス
現在のラスター位置に関連付けられているテクスチャ座標
GL_EDGE_FLAG フラグ
-
GL_DEPTH_BUFFER_BIT
-
GL_DEPTH_TESTビットを有効にする
深度バッファー テスト関数
深度バッファーのクリア値
GL_DEPTH_WRITEMASKビットを有効にする
-
GL_ENABLE_BIT
-
GL_ALPHA_TEST フラグ
GL_AUTO_NORMAL フラグ
GL_BLEND フラグ
ユーザー定義可能なクリッピング プレーンのビットを有効にする
GL_COLOR_MATERIAL
GL_CULL_FACE フラグ
GL_DEPTH_TEST フラグ
GL_DITHER フラグ
GL_FOG フラグ
GL_LIGHTi 0 <= i< GL_MAX_LIGHTS
GL_LIGHTING フラグ
GL_LINE_SMOOTH フラグ
GL_LINE_STIPPLE フラグ
GL_COLOR_LOGIC_OP フラグ
GL_INDEX_LOGIC_OP フラグ
x がマップの種類であるGL_MAP1_x
x がマップの種類であるGL_MAP2_x
GL_NORMALIZE フラグ
GL_POINT_SMOOTH フラグ
GL_POLYGON_OFFSET_LINE フラグ
GL_POLYGON_OFFSET_FILL フラグ
GL_POLYGON_OFFSET_POINT フラグ
GL_POLYGON_SMOOTH フラグ
GL_POLYGON_STIPPLE フラグ
GL_SCISSOR_TEST フラグ
GL_STENCIL_TEST フラグ
GL_TEXTURE_1D フラグ
GL_TEXTURE_2D フラグ
x が S、T、R、または Q であるGL_TEXTURE_GEN_xフラグ
-
GL_EVAL_BIT
-
GL_MAP1_xビットを有効にします。ここで、x はマップの種類です
GL_MAP2_xビットを有効にします。ここで、x はマップの種類です
1-D グリッドのエンドポイントと分割
2-D グリッドのエンドポイントと分割
GL_AUTO_NORMALビットを有効にする
-
GL_FOG_BIT
-
GL_FOG有効化フラグ
霧の色
霧密度
線形霧の開始
線形霧の端
霧インデックス
GL_FOG_MODE値
-
GL_HINT_BIT
-
GL_PERSPECTIVE_CORRECTION_HINT設定
GL_POINT_SMOOTH_HINT設定
GL_LINE_SMOOTH_HINT設定
GL_POLYGON_SMOOTH_HINTの設定
GL_FOG_HINT設定
-
GL_LIGHTING_BIT
-
GL_COLOR_MATERIALビットを有効にする
GL_COLOR_MATERIAL_FACE値
現在の色を追跡している色素材パラメーター
アンビエント シーンの色
GL_LIGHT_MODEL_LOCAL_VIEWER値
GL_LIGHT_MODEL_TWO_SIDE設定
GL_LIGHTINGビットを有効にする
各ライトのビットを有効にする
各ライトのアンビエント、拡散、および反射の強度
各ライトの方向、位置、指数、およびカットオフ角度
各光の定数、線形、および 2 次減衰係数
各マテリアルのアンビエント、拡散、反射、および放射色
各マテリアルのアンビエント、拡散、および反射の色インデックス
各マテリアルの反射指数GL_SHADE_MODEL設定
-
GL_LINE_BIT
-
GL_LINE_SMOOTH フラグ
GL_LINE_STIPPLEビットを有効にする
行のヒント パターンと繰り返しカウンター
[線の幅]
-
GL_LIST_BIT
-
GL_LIST_BASEの設定
-
GL_PIXEL_MODE_BIT
-
GL_RED_BIASとGL_RED_SCALEの設定
値のGL_GREEN_BIASとGL_GREEN_SCALE
GL_BLUE_BIASとGL_BLUE_SCALE
GL_ALPHA_BIASとGL_ALPHA_SCALE
GL_DEPTH_BIASとGL_DEPTH_SCALE
GL_INDEX_OFFSET値とGL_INDEX_SHIFT値
GL_MAP_COLORフラグとGL_MAP_STENCIL フラグ
GL_ZOOM_XとGL_ZOOM_Yの要因
GL_READ_BUFFERの設定
-
GL_POINT_BIT
-
GL_POINT_SMOOTH フラグ
ポイントのサイズ
-
GL_POLYGON_BIT
-
GL_CULL_FACEビットを有効にする
GL_CULL_FACE_MODE値
GL_FRONT_FACE インジケーター
GL_POLYGON_MODEの設定
GL_POLYGON_SMOOTH フラグ
ビットGL_POLYGON_STIPPLE有効にする
GL_POLYGON_OFFSET_FILL フラグ
GL_POLYGON_OFFSET_LINE フラグ
GL_POLYGON_OFFSET_POINT フラグ
GL_POLYGON_OFFSET_FACTOR
GL_POLYGON_OFFSET_UNITS
-
GL_POLYGON_STIPPLE_BIT
-
多角形のヒントの画像
-
GL_SCISSOR_BIT
-
GL_SCISSOR_TEST フラグ
ハサミボックス
-
GL_STENCIL_BUFFER_BIT
-
GL_STENCIL_TESTビットを有効にする
ステンシル関数と参照値
ステンシル値マスク
ステンシルの失敗、パス、および深度バッファーのパス アクション
ステンシル バッファーのクリア値
ステンシル バッファーの書き込みマスク
-
GL_TEXTURE_BIT
-
4 つのテクスチャ座標のビットを有効にする
各テクスチャ イメージの境界線の色
各テクスチャ イメージの縮小関数
各テクスチャ イメージの拡大機能
各テクスチャ イメージのテクスチャ座標とラップ モード
各テクスチャ環境の色とモード
ビット GL_TEXTURE_GEN_x を有効にします。 x は S、T、R、Q です
S、T、R、Q のGL_TEXTURE_GEN_MODE設定
S、T、R、Q の glTexGen 平面方程式
-
GL_TRANSFORM_BIT
-
6 つのクリッピング平面の係数
ユーザー定義可能なクリッピング プレーンのビットを有効にする
GL_MATRIX_MODE値
GL_NORMALIZE フラグ
-
GL_VIEWPORT_BIT
-
深度範囲 (近距離と遠距離)
ビューポートの原点と範囲
-
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
属性スタックがいっぱいの間に関数が呼び出されました。 |
|
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。 |
解説
glPushAttrib 関数は 1 つの引数を受け取ります。これは、属性スタックに保存する状態変数のグループを示すマスクです。 シンボリック定数は、マスク内のビットを設定するために使用されます。 mask パラメーターは、通常、これらの定数のいくつかに論理 OR 演算を適用することによって構築されます。 特殊なマスク GL_ALL_ATTRIB_BITSを使用して、スタック可能なすべての状態を保存できます。
glPopAttrib 関数は、最後の glPushAttrib コマンドで保存された状態変数の値を復元します。 保存されていないものは変更されません。
属性を完全なスタックにプッシュするか、空のスタックから属性をポップするのはエラーです。 どちらの場合も、エラー フラグが設定され、OpenGL 状態に対するその他の変更は行われません。
最初は、属性スタックが空です。
OpenGL 状態のすべての値を属性スタックに保存できるわけではありません。 たとえば、ピクセル パックとアンパック状態の保存、レンダリング モードの状態、選択とフィードバックの状態を保存することはできません。
属性スタックの深さは実装によって異なりますが、少なくとも 16 である必要があります。
次の関数は 、glPushAttrib と glPopAttrib に関連する情報 を取得します。
glGet と引数 GL_ATTRIB_STACK_DEPTH
glGet と引数 GL_MAX_ATTRIB_STACK_DEPTH
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|