Microsoft® Direct3D® 保持モードのC++非メンバ関数は、次の通りである。
色のアルファ要素を取得する。
構文
D3DVALUE D3DRMColorGetAlpha(
D3DCOLOR d3drmc
);
パラメータ
- d3drmc
- アルファ要素を取得する色。0から255の間の値。
戻り値
成功すればアルファ値、失敗すれば0を返す。
参照
色の青要素を取得する。
構文
D3DVALUE D3DRMColorGetBlue(
D3DCOLOR d3drmc
);
パラメータ
- d3drmc
- 青要素を取得する色。0から255の間の値。
戻り値
成功すれば青色値、失敗すれば0を返す。
参照
色の緑要素を取得する。
構文
D3DVALUE D3DRMColorGetGreen(
D3DCOLOR d3drmc
);
パラメータ
- d3drmc
- 緑要素を取得する色。0から255の間の値。
戻り値
成功すれば緑色値、失敗すれば0を返す。
参照
色の赤要素を取得する。
構文
D3DVALUE D3DRMColorGetRed(
D3DCOLOR d3drmc
);
パラメータ
- d3drmc
- 赤要素を取得する色。
戻り値
成功すれば赤色値、失敗すれば0を返す。
参照
与えられた赤、緑および青要素からRGB色を作成する。
構文
D3DCOLOR D3DRMCreateColorRGB(
D3DVALUE red,
D3DVALUE green,
D3DVALUE blue
);
パラメータ
- red, green, blue
- RGB色の構成要素。
戻り値
成功すれば新しいRGB値、失敗すれば0を返す。
参照
与えられた赤、緑、青色、およびアルファ要素からRGBA色を作成する。
構文
D3DCOLOR D3DRMCreateColorRGBA(
D3DVALUE red,
D3DVALUE green,
D3DVALUE blue,
D3DVALUE alpha
);
パラメータ
- red, green, blue, alpha
- RGBA色の構成要素。0から1の間の値。
戻り値
成功すれば新しいRGBA値、失敗すれば0を返す。
参照
回転を示す行列を計算する。
構文
void D3DRMMatrixFromQuaternion (
D3DRMMATRIX4D mat,
LPD3DRMQUATERNION lpquat
);
パラメータ
- mat
- 関数が制御を返すとき、計算された行列が入るアドレス。(D3DRMMATRIX4D型は配列である)
- lpquat
- D3DRMQUATERNION構造体。
戻り値
なし。
指定された軸を中心に、指定された角度(ラジアン単位)の回転を行う。
構文
LPD3DRMQUATERNION D3DRMQuaternionFromRotation(
LPD3DRMQUATERNION lpquat,
LPD3DVECTOR lpv,
D3DVALUE theta
);
パラメータ
- lpquat
- 操作結果を受け取るD3DRMQUATERNION構造体。
- lpv
- 回転の軸を指定するD3DVECTOR構造体。
- theta
- パラメータによって指定された軸の周りを回転する角度(ラジアン単位)。
戻り値
成功すれば、第1パラメータとして渡された4次行列へのポインタを返す。失敗すれば0を返す。
2つのベクトルの積を計算する。
構文
LPD3DRMQUATERNION D3DRMQuaternionMultiply(
LPD3DRMQUATERNION lpq,
LPD3DRMQUATERNION lpa,
LPD3DRMQUATERNION lpb
);
パラメータ
- lpq
- 乗算の結果を受け取るD3DRMQUATERNION構造体。
- lpa, lpb
- 乗算するD3DRMQUATERNION構造体。
戻り値
成功すれば、第1パラメータとして渡された構造体へのポインタを返す。失敗すれば0を返す。
球面線形補間を使用して2つの構造体を補完する。
構文
LPD3DRMQUATERNION D3DRMQuaternionSlerp(
LPD3DRMQUATERNION lpq,
LPD3DRMQUATERNION lpa,
LPD3DRMQUATERNION lpb,
D3DVALUE alpha
);
パラメータ
- lpq
- 補完した結果を受け取るD3DRMQUATERNION構造体。
- lpa, lpb
- 補完の開始位置と終了位置として用いられるD3DRMQUATERNION構造体。
- alpha
- lpaとlpbの間に補間する距離を示す、0から1の間の値。
戻り値
成功すれば、第1パラメータとして渡された構造体を返す。失敗すれば0を返す。
2つのベクトルを加算する。
構文
LPD3DVECTOR D3DRMVectorAdd(
LPD3DVECTOR lpd,
LPD3DVECTOR lps1,
LPD3DVECTOR lps2
);
パラメータ
- lpd
- 加算の結果を受け取るD3DVECTOR構造体。
- lps1, lps2
- 加算されるD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
2つのベクトルの外積を計算する。
構文
LPD3DVECTOR D3DRMVectorCrossProduct(
LPD3DVECTOR lpd,
LPD3DVECTOR lps1,
LPD3DVECTOR lps2
);
パラメータ
- lpd
- 外積の結果を受け取るD3DVECTOR構造体。
- lps1, lps2
- 外積が計算されるD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
ベクトルの内積を返す。
構文
D3DVALUE D3DRMVectorDotProduct(
LPD3DVECTOR lps1,
LPD3DVECTOR lps2
);
パラメータ
- lps1, lps2
- 内積が計算されるD3DVECTOR構造体。
戻り値
成功すれば内積の結果、失敗すれば0を返す。
以下の式にしたがってベクトルの長さを返す。
構文
D3DVALUE D3DRMVectorModulus(
LPD3DVECTOR lpv
);
パラメータ
- lpv
- 長さを計算するD3DVECTOR構造体。
戻り値
成功すれば、D3DVECTOR構造体に長さを返す。失敗すれば0を返す。
絶対値が1になるようにベクトルをスケーリングする。
構文
LPD3DVECTOR D3DRMVectorNormalize(
LPD3DVECTOR lpv
);
パラメータ
- lpv
- スケーリング操作の結果を受け取るD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。たとえば0ベクトルが渡された場合など、エラーが発生すると0を返す。
ランダムなベクトルユニットを返す。
構文
LPD3DVECTOR D3DRMVectorRandom(
LPD3DVECTOR lpd
);
パラメータ
- lpd
- ランダムなベクトルユニットを受け取るD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
指定された法線について、光線を反射する。
構文
LPD3DVECTOR D3DRMVectorReflect(
LPD3DVECTOR lpd,
LPD3DVECTOR lpRay,
LPD3DVECTOR lpNorm
);
パラメータ
- lpd
- 処理結果を受け取るD3DVECTOR構造体。
- lpRay
- 法線で反射されるD3DVECTOR構造体。
- lpNorm
- lpRayで指定された光線を反射する法線を示すD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
指定された軸を中心にベクトルを回転させる。成功すると、正規化されたベクトルを返す。
構文
LPD3DVECTOR D3DRMVectorRotate(
LPD3DVECTOR lpr,
LPD3DVECTOR lpv,
LPD3DVECTOR lpaxis,
D3DVALUE theta
);
パラメータ
- lpr
- 処理結果を受け取るD3DVECTOR構造体。
- lpv
- 与えられた軸の回りを回転するD3DVECTOR構造体。
- lpaxis
- 回転の軸を示すD3DVECTOR構造体。
- theta
- ラジアン単位での回転角度。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。このベクトルは正規化されている。
3つの軸について同じ比率で、ベクトルをスケーリングする。
構文
LPD3DVECTOR D3DRMVectorScale(
LPD3DVECTOR lpd,
LPD3DVECTOR lps,
D3DVALUE factor
);
パラメータ
- lpd
- 処理結果を受け取るD3DVECTOR構造体。
- lps
- スケーリングされるD3DVECTOR構造体。
- factor
- スケール係数。この値が1のとき、スケーリングは行われない。この値が2のときは2倍になる。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
2つのベクトル間で減算を行う。
構文
LPD3DVECTOR D3DRMVectorSubtract(
LPD3DVECTOR lpd,
LPD3DVECTOR lps1,
LPD3DVECTOR lps2
);
パラメータ
- lpd
- 処理結果を受け取るD3DVECTOR構造体。
- lps1
- lps2が引かれるD3DVECTOR構造体。
- lps2
- lps1から引くD3DVECTOR構造体。
戻り値
成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。
Direct3DRMオブジェクトのインスタンスを作成する。
構文
HRESULT Direct3DRMCreate(
LPDIRECT3DRM FAR *lplpD3DRM
);
パラメータ
- lplpD3DRM
- 呼び出しが成功した場合、有効なDirect3DRMポインタが入るポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.