Microsoft®Direct3D® 保持モードのC++列挙型は、次の通りである。
Direct3DRMMeshBuilder3オブジェクトのカラーソースを記述する。カラーソースを設定するには、IDirect3DRMMeshBuilder3::SetColorSourceを使用する。カラーソースを取得するには、IDirect3DRMMeshBuilder3::GetColorSourceメソッドを使用する。
構文
typedef enum _D3DRMCOLORSOURCE{ D3DRMCOLOR_FROMFACE, D3DRMCOLOR_FROMVERTEX } D3DRMCOLORSOURCE;
値
- D3DRMCOLOR_FROMFACE
- オブジェクトのカラーソースは面である。
- D3DRMCOLOR_FROMVERTEX
- オブジェクトのカラーソースは頂点である。
参照
IDirect3DRMMeshBuilder3::SetColorSource, IDirect3DRMMeshBuilder3::GetColorSource
2つの行列の合成方法を指定する。
構文
typedef enum _D3DRMCOMBINETYPE{ D3DRMCOMBINE_REPLACE, D3DRMCOMBINE_BEFORE, D3DRMCOMBINE_AFTER } D3DRMCOMBINETYPE;
値
- D3DRMCOMBINE_REPLACE
- 与えられた行列により、フレームの現在の行列を置き換える。
- D3DRMCOMBINE_BEFORE
- 与えられた行列とフレームの現在の行列の積を求める。計算においては、与えられた行列が現在の行列よりも先に指定される。
- D3DRMCOMBINE_AFTER
- 与えられた行列とフレームの現在の行列の積を求める。計算においては、与えられた行列が現在の行列の後に指定される。
注意
行列の乗算は可換ではないため、与えられた行列と現在の行列を掛け合わせる順序は重要である。
参照
IDirect3DRMFrame3::AddRotation, IDirect3DRMFrame3::AddScale, IDirect3DRMFrame3::AddTransform, IDirect3DRMFrame3::AddTranslation
D3DRMRENDERQUALITY型の定義で使われる。
構文
typedef enum _D3DRMFILLMODE { D3DRMFILL_POINTS = 0 *D3DRMLIGHT_MAX, D3DRMFILL_WIREFRAME = 1 *D3DRMLIGHT_MAX, D3DRMFILL_SOLID = 2 *D3DRMLIGHT_MAX, D3DRMFILL_MASK = 7 *D3DRMLIGHT_MAX, D3DRMFILL_MAX = 8 *D3DRMLIGHT_MAX } D3DRMFILLMODE;
値
- D3DRMFILL_POINTS
- 点のみを塗りつぶす。最小の塗りつぶしモード。
- D3DRMFILL_WIREFRAME
- ワイヤーフレームを塗る。
- D3DRMFILL_SOLID
- 立体オブジェクトを塗る。
- D3DRMFILL_MASK
- マスクを使用して塗る。
- D3DRMFILL_MAX
- 塗りつぶしモードの最大値。
参照
カメラからの距離が広がるにつれ、フォグ効果がどのくらいの速さでどのように強くなるかを示す。
モノクロ(ランプ)ライティングモードでは、フォグは、その色が黒の場合に正常に機能する(ライティングがない場合には、どのフォグの色でも働く。その場合には、すべてのフォグの色が実際的には黒となるからである)。
構文
typedef enum _D3DRMFOGMODE{ D3DRMFOG_LINEAR, D3DRMFOG_EXPONENTIAL, D3DRMFOG_EXPONENTIALSQUARED } D3DRMFOGMODE;
値
- D3DRMFOG_LINEAR
- フォグ効果は、始点から終点までの間に比例的に強くなる。次の公式で表わされる。
![]()
現在サポートされているフォグモードは、これだけである。
- D3DRMFOG_EXPONENTIAL
- フォグ効果は、指数関数的に強くなる。次の公式で表わされる。
![]()
- D3DRMFOG_EXPONENTIALSQUARED
- フォグ効果は、距離の2乗に比例して指数関数的に強くなる。次の公式で表わされる。
![]()
注意
フォグは視界の基準と見なされることに注意しなくてはならない。方程式の1つから求められるフォグ値が低いほど、オブジェクトは見えにくくなる。
フォグの密度、始点、終点は、IDirect3DRMFrame3::SetSceneFogParamsメソッドによって指定することができる。指数フォグモードの方程式では、eは自然対数の底を表し、その値は約2.71828である。
参照
IDirect3DRMFrame3::SetSceneFogMode, IDirect3DRMFrame3::SetSceneFogParams
Direct3DRMFrameオブジェクトを表示するときに強制的に回転する軸を記述する。この列挙型はIDirect3DRMFrame3::LookAtメソッドによって使用される。
構文
typedef enum _D3DRMFRAMECONSTRAINT { D3DRMCONSTRAIN_Z, D3DRMCONSTRAIN_Y, D3DRMCONSTRAIN_X } D3DRMFRAMECONSTRAINT;
値
- D3DRMCONSTRAIN_Z
- xおよびy回転のみ使用する。
- D3DRMCONSTRAIN_Y
- xおよびz回転のみ使用する。
- D3DRMCONSTRAIN_X
- yおよびz回転のみ使用する。
参照
D3DRMRENDERQUALITY型の定義で使われる。
構文
typedef enum _D3DRMLIGHTMODE { D3DRMLIGHT_OFF = 0 *D3DRMSHADE_MAX, D3DRMLIGHT_ON = 1 *D3DRMSHADE_MAX, D3DRMLIGHT_MASK = 7 *D3DRMSHADE_MAX, D3DRMLIGHT_MAX = 8 *D3DRMSHADE_MAX } D3DRMLIGHTMODE;
値
- D3DRMLIGHT_OFF
- 照明はオフである。
- D3DRMLIGHT_ON
- 照明はオンである。
- D3DRMLIGHT_MASK
- 照明はマスクを使用する。
- D3DRMLIGHT_MAX
- 照明モードの最大値。
参照
IDirect3DRM3::CreateLightメソッドを使って、照明タイプを定義する。
構文
typedef enum _D3DRMLIGHTTYPE{ D3DRMLIGHT_AMBIENT, D3DRMLIGHT_POINT, D3DRMLIGHT_SPOT, D3DRMLIGHT_DIRECTIONAL, D3DRMLIGHT_PARALLELPOINT } D3DRMLIGHTTYPE;
値
- D3DRMLIGHT_AMBIENT
- アンビエント照明。
- D3DRMLIGHT_POINT
- ポイント照明。
- D3DRMLIGHT_SPOT
- スポットライト照明。
- D3DRMLIGHT_DIRECTIONAL
- ディレクショナル照明。
- D3DRMLIGHT_PARALLELPOINT
- パラレルポイント照明。
フレームとともにレンダリングされるビジュアルのマテリアル情報のソースを記述する。
構文
typedef enum _D3DRMMATERIALMODE{ D3DRMMATERIAL_FROMMESH, D3DRMMATERIAL_FROMPARENT, D3DRMMATERIAL_FROMFRAME } D3DRMMATERIALMODE;
値
- D3DRMMATERIAL_FROMMESH
- マテリアル情報はビジュアルオブジェクト(メッシュ)そのものから取得される。これはデフォルト設定である。
- D3DRMMATERIAL_FROMPARENT
- マテリアル情報は、色やテクスチャ情報とともに親フレームから継承される。
- D3DRMMATERIAL_FROMFRAME
- マテリアル情報はフレームから取得され、ビジュアルオブジェクトが保持していた以前の情報をオーバーライドする。
参照
IDirect3DRMFrame3::GetMaterialMode, IDirect3DRMFrame3::SetMaterialMode
D3DRMPALETTEENTRY構造体での色の使用方法を定義する。
構文
typedef enum _D3DRMPALETTEFLAGS { D3DRMPALETTE_FREE, D3DRMPALETTE_READONLY, D3DRMPALETTE_RESERVED } D3DRMPALETTEFLAGS;
値
- D3DRMPALETTE_FREE
- レンダラーはこのエントリを自由に使用できる。
- D3DRMPALETTE_READONLY
- 固定されているが、レンダラーが使うことができる。
- D3DRMPALETTE_RESERVED
- レンダラーが使うことはできない。
参照
Direct3DRMViewportオブジェクトで使用される投影のタイプを定義する。IDirect3DRMViewport2::GetProjectionおよびIDirect3DRMViewport2::SetProjectionメソッドは、この列挙型を使用する。右手タイプは、右手投影をイネーブルにする。
注: DirectX version 6.0以降では、IDirect3DRM3::SetOptionsを使用して右手ジオメトリを指定する。
カメラの軸(IDirect3DRMFrame3::SetAxes参照)は、カメラの面する方向を決定するために、左手投影と右手投影の両方で使用される。
構文
typedef enum _D3DRMPROJECTIONTYPE{ D3DRMPROJECT_PERSPECTIVE, D3DRMPROJECT_ORTHOGRAPHIC, D3DRMPROJECT_RIGHTHANDPERSPECTIVE, D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC } D3DRMPROJECTIONTYPE;
値
- D3DRMPROJECT_PERSPECTIVE
- 投影は、左手のパースペクティブである。
- D3DRMPROJECT_ORTHOGRAPHIC
- 投影は、左手の正射影法である。
- D3DRMPROJECT_RIGHTHANDPERSPECTIVE
- 投影は、右手のパースペクティブである。
- D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
- 投影は、右手の正射影法である。
参照
IDirect3DRMViewport2::GetProjection, IDirect3DRMViewport2::SetProjection
Direct3DRMMeshオブジェクトのシェーディングモード、照明モード、塗りつぶしモードを結合する。
構文
typedef enum _D3DRMSHADEMODE { D3DRMSHADE_FLAT = 0, D3DRMSHADE_GOURAUD = 1, D3DRMSHADE_PHONG = 2, D3DRMSHADE_MASK = 7, D3DRMSHADE_MAX = 8 } D3DRMSHADEMODE; typedef enum _D3DRMLIGHTMODE { D3DRMLIGHT_OFF = 0 *D3DRMSHADE_MAX, D3DRMLIGHT_ON = 1 *D3DRMSHADE_MAX, D3DRMLIGHT_MASK = 7 *D3DRMSHADE_MAX, D3DRMLIGHT_MAX = 8 *D3DRMSHADE_MAX } D3DRMLIGHTMODE; typedef enum _D3DRMFILLMODE { D3DRMFILL_POINTS = 0 *D3DRMLIGHT_MAX, D3DRMFILL_WIREFRAME = 1 *D3DRMLIGHT_MAX, D3DRMFILL_SOLID = 2 *D3DRMLIGHT_MAX, D3DRMFILL_MASK = 7 *D3DRMLIGHT_MAX, D3DRMFILL_MAX = 8 *D3DRMLIGHT_MAX } D3DRMFILLMODE; typedef DWORD D3DRMRENDERQUALITY; #define D3DRMRENDER_WIREFRAME (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_WIREFRAME) #define D3DRMRENDER_UNLITFLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_SOLID) #define D3DRMRENDER_FLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_ON+D3DRMFILL_SOLID) #define D3DRMRENDER_GOURAUD (D3DRMSHADE_GOURAUD+D3DRMLIGHT_ON+D3DRMFILL_SOLID) #define D3DRMRENDER_PHONG (D3DRMSHADE_PHONG+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
値
- D3DRMSHADEMODE, D3DRMLIGHTMODE, D3DRMFILLMODE
- シェーディング、照明、塗りつぶしモードを示す。
- D3DRMRENDER_WIREFRAME
- 辺のみを表示する。
- D3DRMRENDER_UNLITFLAT
- 照明なしのフラットシェーディング。
- D3DRMRENDER_FLAT
- フラットシェーディング。
- D3DRMRENDER_GOURAUD
- グーローシェーディング。
- D3DRMRENDER_PHONG
- フォンシェーディング。このシェーディングモードは現在はサポートされていない。
参照
IDirect3DRMMesh::GetGroupQuality, IDirect3DRMMesh::SetGroupQuality,IDirect3DRMDevice3::SetRenderMode
D3DRMRENDERQUALITY型の定義で使われる。
構文
typedef enum _D3DRMSHADEMODE { D3DRMSHADE_FLAT = 0, D3DRMSHADE_GOURAUD = 1, D3DRMSHADE_PHONG = 2, D3DRMSHADE_MASK = 7, D3DRMSHADE_MAX = 8 } D3DRMSHADEMODE;
参照
シーン上にどのように子フレームがソートされるかを示す。
構文
typedef enum _D3DRMSORTMODE { D3DRMSORT_FROMPARENT, D3DRMSORT_NONE, D3DRMSORT_FRONTTOBACK, D3DRMSORT_BACKTOFRONT } D3DRMSORTMODE;
値
- D3DRMSORT_FROMPARENT
- 子フレームは親フレームのソート順序を継承する。これはデフォルト設定である。
- D3DRMSORT_NONE
- 子フレームはソートされない。
- D3DRMSORT_FRONTTOBACK
- 子フレームは前から後ろへソートされる。
- D3DRMSORT_BACKTOFRONT
- 子フレームは後ろから前へソートされる。
参照
IDirect3DRMFrame3::GetSortMode, IDirect3DRMFrame3::SetSortMode
デバイスが、いかにテクスチャのピクセルとビューポートのピクセルの間を補間するかを記述する。この列挙型はIDirect3DRMDevice3::SetTextureQualityおよびIDirect3DRMDevice3::GetTextureQualityメソッドによって使用される。
構文
typedef enum _D3DRMTEXTUREQUALITY{ D3DRMTEXTURE_NEAREST, D3DRMTEXTURE_LINEAR, D3DRMTEXTURE_MIPNEAREST, D3DRMTEXTURE_MIPLINEAR, D3DRMTEXTURE_LINEARMIPNEAREST, D3DRMTEXTURE_LINEARMIPLINEAR } D3DRMTEXTUREQUALITY;
値
- D3DRMTEXTURE_NEAREST
- テクスチャの最も近いピクセルを選択する。ミップマッピングをサポートしない。
- D3DRMTEXTURE_LINEAR
- 4つの最も近いピクセルを線形に補間する。ミップマッピングをサポートしない。
- D3DRMTEXTURE_MIPNEAREST
- D3DRMTEXTURE_NEARESTに似ているが、テクスチャの代わりに適切なミップマップを使用する。ピクセルサンプリングとミップマッピングは両方とも最近似である。
- D3DRMTEXTURE_MIPLINEAR
- D3DRMTEXTURE_LINEARに似ているが、テクスチャの代わりに適切なミップマップを使用する。ピクセルサンプリングは線形である。ミップマッピングは最近似である。
- D3DRMTEXTURE_LINEARMIPNEAREST
- D3DRMTEXTURE_MIPNEARESTに似ているが、2つの最近似ミップマップ間を補間する。ピクセルサンプリングは最近似である。ミップマッピングは線形である。
- D3DRMTEXTURE_LINEARMIPLINEAR
- D3DRMTEXTURE_MIPLINEARに似ているが、2つの最近似ミップマップ間を補間する。ピクセルサンプリングとミップマッピングは、両方とも線形である。
システムがD3DRMUSERVISUALCALLBACKコールバック関数を使用した理由を定義する。
構文
typedef enum _D3DRMUSERVISUALREASON { D3DRMUSERVISUAL_CANSEE, D3DRMUSERVISUAL_RENDER } D3DRMUSERVISUALREASON;
値
- D3DRMUSERVISUAL_CANSEE
- ユーザビジュアルオブジェクトがビューポート上で可視状態であれば、コールバック関数はTRUEを返さなくてはならない。
- D3DRMUSERVISUAL_RENDER
- コールバック関数はユーザビジュアルオブジェクトをレンダリングしなくてはならない。
参照
IDirect3DRM3::CreateWrapメソッドによって作成されるDirect3DRMWrapオブジェクトのタイプを定義する。またIDirect3DRMWrap::Initメソッドの呼び出しの中で、Direct3DRMWrapオブジェクトを初期化するためにこの列挙型を使用することができる。
構文
typedef enum _D3DRMWRAPTYPE{ D3DRMWRAP_FLAT, D3DRMWRAP_CYLINDER, D3DRMWRAP_SPHERE, D3DRMWRAP_CHROME } D3DRMWRAPTYPE;
値
- D3DRMWRAP_FLAT
- プレーンラップ。
- D3DRMWRAP_CYLINDER
- 円柱ラップ。
- D3DRMWRAP_SPHERE
- 球体ラップ。
- D3DRMWRAP_CHROME
- ラップは、テクスチャがオブジェクト上で反射されるようにテクスチャ座標を割り当てる。
参照
IDirect3DRMMeshBuilder3::Saveメソッドで使用されるファイルタイプを定義する。
構文
typedef enum _D3DRMXOFFORMAT{ D3DRMXOF_BINARY, D3DRMXOF_COMPRESSED, D3DRMXOF_TEXT } D3DRMXOFFORMAT;
値
- D3DRMXOF_BINARY
- ファイルはバイナリフォーマットである。これはデフォルト設定である。
- D3DRMXOF_COMPRESSED
- 現在はサポートされていない。
- D3DRMXOF_TEXT
- ファイルはテキストフォーマットである。
注意
D3DRMXOF_BINARYとD3DRMXOF_TEXT設定を同時に使用することはできない。
参照
Zバッファが有効かどうかを示す。
構文
typedef enum _D3DRMZBUFFERMODE { D3DRMZBUFFER_FROMPARENT, D3DRMZBUFFER_ENABLE, D3DRMZBUFFER_DISABLE } D3DRMZBUFFERMODE;
値
- D3DRMZBUFFER_FROMPARENT
- フレームは親フレームからZバッファの設定を継承する。これはデフォルト設定である。
- D3DRMZBUFFER_ENABLE
- Zバッファは有効である。
- D3DRMZBUFFER_DISABLE
- Zバッファは無効である。
参照
IDirect3DRMFrame3::GetZbufferMode, IDirect3DRMFrame3::SetZbufferMode
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.