C++列挙型

Microsoft®Direct3D® 保持モードのC++列挙型は、次の通りである。

D3DRMCOLORSOURCE

Direct3DRMMeshBuilder3オブジェクトのカラーソースを記述する。カラーソースを設定するには、IDirect3DRMMeshBuilder3::SetColorSourceを使用する。カラーソースを取得するには、IDirect3DRMMeshBuilder3::GetColorSourceメソッドを使用する。

構文

typedef enum _D3DRMCOLORSOURCE{
    D3DRMCOLOR_FROMFACE,
    D3DRMCOLOR_FROMVERTEX
} D3DRMCOLORSOURCE;

D3DRMCOLOR_FROMFACE
オブジェクトのカラーソースは面である。
D3DRMCOLOR_FROMVERTEX
オブジェクトのカラーソースは頂点である。

参照

IDirect3DRMMeshBuilder3::SetColorSource, IDirect3DRMMeshBuilder3::GetColorSource

D3DRMCOMBINETYPE

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

D3DRMFILLMODE

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
塗りつぶしモードの最大値。

参照

D3DRMLIGHTMODE, D3DRMSHADEMODE, D3DRMRENDERQUALITY

D3DRMFOGMODE

カメラからの距離が広がるにつれ、フォグ効果がどのくらいの速さでどのように強くなるかを示す。

モノクロ(ランプ)ライティングモードでは、フォグは、その色が黒の場合に正常に機能する(ライティングがない場合には、どのフォグの色でも働く。その場合には、すべてのフォグの色が実際的には黒となるからである)。

構文

typedef enum _D3DRMFOGMODE{
    D3DRMFOG_LINEAR,
    D3DRMFOG_EXPONENTIAL,
    D3DRMFOG_EXPONENTIALSQUARED
} D3DRMFOGMODE;

D3DRMFOG_LINEAR
フォグ効果は、始点から終点までの間に比例的に強くなる。次の公式で表わされる。

距離に対するフォグ効果の比例増加を表す公式

現在サポートされているフォグモードは、これだけである。

D3DRMFOG_EXPONENTIAL
フォグ効果は、指数関数的に強くなる。次の公式で表わされる。

距離に対するフォグ効果の指数増加を表す公式

D3DRMFOG_EXPONENTIALSQUARED
フォグ効果は、距離の2乗に比例して指数関数的に強くなる。次の公式で表わされる。

距離の2乗に対するフォグ効果の指数増加を表す公式

注意

フォグは視界の基準と見なされることに注意しなくてはならない。方程式の1つから求められるフォグ値が低いほど、オブジェクトは見えにくくなる。

フォグの密度、始点、終点は、IDirect3DRMFrame3::SetSceneFogParamsメソッドによって指定することができる。指数フォグモードの方程式では、eは自然対数の底を表し、その値は約2.71828である。

参照

IDirect3DRMFrame3::SetSceneFogMode, IDirect3DRMFrame3::SetSceneFogParams

D3DRMFRAMECONSTRAINT

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回転のみ使用する。

参照

IDirect3DRMFrame3::LookAt

D3DRMLIGHTMODE

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
照明モードの最大値。

参照

D3DRMFILLMODE, D3DRMSHADEMODE, D3DRMRENDERQUALITY

D3DRMLIGHTTYPE

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
パラレルポイント照明。

D3DRMMATERIALMODE

フレームとともにレンダリングされるビジュアルのマテリアル情報のソースを記述する。

構文

typedef enum _D3DRMMATERIALMODE{
    D3DRMMATERIAL_FROMMESH,
    D3DRMMATERIAL_FROMPARENT,
    D3DRMMATERIAL_FROMFRAME
} D3DRMMATERIALMODE;

D3DRMMATERIAL_FROMMESH
マテリアル情報はビジュアルオブジェクト(メッシュ)そのものから取得される。これはデフォルト設定である。
D3DRMMATERIAL_FROMPARENT
マテリアル情報は、色やテクスチャ情報とともに親フレームから継承される。
D3DRMMATERIAL_FROMFRAME
マテリアル情報はフレームから取得され、ビジュアルオブジェクトが保持していた以前の情報をオーバーライドする。

参照

IDirect3DRMFrame3::GetMaterialMode, IDirect3DRMFrame3::SetMaterialMode

D3DRMPALETTEFLAGS

D3DRMPALETTEENTRY構造体での色の使用方法を定義する。

構文

typedef enum _D3DRMPALETTEFLAGS {
    D3DRMPALETTE_FREE,
    D3DRMPALETTE_READONLY,
    D3DRMPALETTE_RESERVED
} D3DRMPALETTEFLAGS;

D3DRMPALETTE_FREE
レンダラーはこのエントリを自由に使用できる。
D3DRMPALETTE_READONLY
固定されているが、レンダラーが使うことができる。
D3DRMPALETTE_RESERVED
レンダラーが使うことはできない。

参照

D3DRMPALETTEENTRY

D3DRMPROJECTIONTYPE

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

D3DRMRENDERQUALITY

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

D3DRMSHADEMODE

D3DRMRENDERQUALITY型の定義で使われる。

構文

typedef enum _D3DRMSHADEMODE {
    D3DRMSHADE_FLAT     = 0,
    D3DRMSHADE_GOURAUD  = 1,
    D3DRMSHADE_PHONG    = 2,
    D3DRMSHADE_MASK     = 7,
    D3DRMSHADE_MAX      = 8
} D3DRMSHADEMODE;

参照

D3DRMFILLMODE, D3DRMLIGHTMODE, D3DRMRENDERQUALITY

D3DRMSORTMODE

シーン上にどのように子フレームがソートされるかを示す。

構文

typedef enum _D3DRMSORTMODE {
    D3DRMSORT_FROMPARENT,
    D3DRMSORT_NONE,
    D3DRMSORT_FRONTTOBACK,
    D3DRMSORT_BACKTOFRONT
} D3DRMSORTMODE;

D3DRMSORT_FROMPARENT
子フレームは親フレームのソート順序を継承する。これはデフォルト設定である。
D3DRMSORT_NONE
子フレームはソートされない。
D3DRMSORT_FRONTTOBACK
子フレームは前から後ろへソートされる。
D3DRMSORT_BACKTOFRONT
子フレームは後ろから前へソートされる。

参照

IDirect3DRMFrame3::GetSortMode, IDirect3DRMFrame3::SetSortMode

D3DRMTEXTUREQUALITY

デバイスが、いかにテクスチャのピクセルとビューポートのピクセルの間を補間するかを記述する。この列挙型は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つの最近似ミップマップ間を補間する。ピクセルサンプリングとミップマッピングは、両方とも線形である。

D3DRMUSERVISUALREASON

システムがD3DRMUSERVISUALCALLBACKコールバック関数を使用した理由を定義する。

構文

typedef enum _D3DRMUSERVISUALREASON {
    D3DRMUSERVISUAL_CANSEE,
    D3DRMUSERVISUAL_RENDER
} D3DRMUSERVISUALREASON;

D3DRMUSERVISUAL_CANSEE
ユーザビジュアルオブジェクトがビューポート上で可視状態であれば、コールバック関数はTRUEを返さなくてはならない。
D3DRMUSERVISUAL_RENDER
コールバック関数はユーザビジュアルオブジェクトをレンダリングしなくてはならない。

参照

D3DRMUSERVISUALCALLBACK

D3DRMWRAPTYPE

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
ラップは、テクスチャがオブジェクト上で反射されるようにテクスチャ座標を割り当てる。

参照

IDirect3DRM3::CreateWrap, IDirect3DRMWrap::Init, 「ラップ

D3DRMXOFFORMAT

IDirect3DRMMeshBuilder3::Saveメソッドで使用されるファイルタイプを定義する。

構文

typedef enum _D3DRMXOFFORMAT{
    D3DRMXOF_BINARY,
    D3DRMXOF_COMPRESSED,
    D3DRMXOF_TEXT
} D3DRMXOFFORMAT;

D3DRMXOF_BINARY
ファイルはバイナリフォーマットである。これはデフォルト設定である。
D3DRMXOF_COMPRESSED
現在はサポートされていない。
D3DRMXOF_TEXT
ファイルはテキストフォーマットである。

注意

D3DRMXOF_BINARYとD3DRMXOF_TEXT設定を同時に使用することはできない。

参照

IDirect3DRMMeshBuilder3::Save

D3DRMZBUFFERMODE

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.