C++非メンバ関数

Microsoft® Direct3D® 保持モードのC++非メンバ関数は、次の通りである。

D3DRMColorGetAlpha

色のアルファ要素を取得する。

構文

D3DVALUE D3DRMColorGetAlpha(
  D3DCOLOR d3drmc
  );

パラメータ

d3drmc
アルファ要素を取得する色。0から255の間の値。

戻り値

成功すればアルファ値、失敗すれば0を返す。

参照

D3DRMColorGetBlue, D3DRMColorGetGreen, D3DRMColorGetRed

D3DRMColorGetBlue

色の青要素を取得する。

構文

D3DVALUE D3DRMColorGetBlue(
  D3DCOLOR d3drmc
  );

パラメータ

d3drmc
青要素を取得する色。0から255の間の値。

戻り値

成功すれば青色値、失敗すれば0を返す。

参照

D3DRMColorGetAlpha, D3DRMColorGetGreen, D3DRMColorGetRed

D3DRMColorGetGreen

色の緑要素を取得する。

構文

D3DVALUE D3DRMColorGetGreen(
  D3DCOLOR d3drmc
  );

パラメータ

d3drmc
緑要素を取得する色。0から255の間の値。

戻り値

成功すれば緑色値、失敗すれば0を返す。

参照

D3DRMColorGetAlpha, D3DRMColorGetBlue, D3DRMColorGetRed

D3DRMColorGetRed

色の赤要素を取得する。

構文

D3DVALUE D3DRMColorGetRed(
  D3DCOLOR d3drmc
  );

パラメータ

d3drmc
赤要素を取得する色。

戻り値

成功すれば赤色値、失敗すれば0を返す。

参照

D3DRMColorGetAlpha, D3DRMColorGetBlue, D3DRMColorGetGreen

D3DRMCreateColorRGB

与えられた赤、緑および青要素からRGB色を作成する。

構文

D3DCOLOR D3DRMCreateColorRGB(
  D3DVALUE red,
  D3DVALUE green,
  D3DVALUE blue
  );

パラメータ

red, green, blue
RGB色の構成要素。

戻り値

成功すれば新しいRGB値、失敗すれば0を返す。

参照

D3DRMCreateColorRGBA

D3DRMCreateColorRGBA

与えられた赤、緑、青色、およびアルファ要素からRGBA色を作成する。

構文

D3DCOLOR D3DRMCreateColorRGBA(
  D3DVALUE red,
  D3DVALUE green,
  D3DVALUE blue,
  D3DVALUE alpha
  );

パラメータ

red, green, blue, alpha
RGBA色の構成要素。0から1の間の値。

戻り値

成功すれば新しいRGBA値、失敗すれば0を返す。

参照

D3DRMCreateColorRGB

D3DRMMatrixFromQuaternion

回転を示す行列を計算する。

構文

void D3DRMMatrixFromQuaternion (
  D3DRMMATRIX4D mat,
  LPD3DRMQUATERNION lpquat
  );

パラメータ

mat
関数が制御を返すとき、計算された行列が入るアドレス。(D3DRMMATRIX4D型は配列である)
lpquat
D3DRMQUATERNION構造体。

戻り値

なし。

D3DRMQuaternionFromRotation

指定された軸を中心に、指定された角度(ラジアン単位)の回転を行う。

構文

LPD3DRMQUATERNION D3DRMQuaternionFromRotation(
  LPD3DRMQUATERNION lpquat,
  LPD3DVECTOR lpv,
  D3DVALUE theta
  );

パラメータ

lpquat
操作結果を受け取るD3DRMQUATERNION構造体。
lpv
回転の軸を指定するD3DVECTOR構造体。
theta
パラメータによって指定された軸の周りを回転する角度(ラジアン単位)。

戻り値

成功すれば、第1パラメータとして渡された4次行列へのポインタを返す。失敗すれば0を返す。

D3DRMQuaternionMultiply

2つのベクトルの積を計算する。

構文

LPD3DRMQUATERNION D3DRMQuaternionMultiply(
  LPD3DRMQUATERNION lpq,
  LPD3DRMQUATERNION lpa,
  LPD3DRMQUATERNION lpb
  );

パラメータ

lpq
乗算の結果を受け取るD3DRMQUATERNION構造体。
lpa, lpb
乗算するD3DRMQUATERNION構造体。

戻り値

成功すれば、第1パラメータとして渡された構造体へのポインタを返す。失敗すれば0を返す。

D3DRMQuaternionSlerp

球面線形補間を使用して2つの構造体を補完する。

構文

LPD3DRMQUATERNION D3DRMQuaternionSlerp(
  LPD3DRMQUATERNION lpq,
  LPD3DRMQUATERNION lpa,
  LPD3DRMQUATERNION lpb,
  D3DVALUE alpha
  );

パラメータ

lpq
補完した結果を受け取るD3DRMQUATERNION構造体。
lpa, lpb
補完の開始位置と終了位置として用いられるD3DRMQUATERNION構造体。
alpha
lpalpbの間に補間する距離を示す、0から1の間の値。

戻り値

成功すれば、第1パラメータとして渡された構造体を返す。失敗すれば0を返す。

D3DRMVectorAdd

2つのベクトルを加算する。

構文

LPD3DVECTOR D3DRMVectorAdd(
  LPD3DVECTOR lpd,
  LPD3DVECTOR lps1,
  LPD3DVECTOR lps2
  );

パラメータ

lpd
加算の結果を受け取るD3DVECTOR構造体。
lps1, lps2
加算されるD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

D3DRMVectorCrossProduct

2つのベクトルの外積を計算する。

構文

LPD3DVECTOR D3DRMVectorCrossProduct(
  LPD3DVECTOR lpd,
  LPD3DVECTOR lps1,
  LPD3DVECTOR lps2
  );

パラメータ

lpd
外積の結果を受け取るD3DVECTOR構造体。
lps1, lps2
外積が計算されるD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

D3DRMVectorDotProduct

ベクトルの内積を返す。

構文

D3DVALUE D3DRMVectorDotProduct(
  LPD3DVECTOR lps1,
  LPD3DVECTOR lps2
  );

パラメータ

lps1, lps2
内積が計算されるD3DVECTOR構造体。

戻り値

成功すれば内積の結果、失敗すれば0を返す。

D3DRMVectorModulus

以下の式にしたがってベクトルの長さを返す。

x2乗 + y2乗 + z2乗の平方根

構文

D3DVALUE D3DRMVectorModulus(
  LPD3DVECTOR lpv
  );

パラメータ

lpv
長さを計算するD3DVECTOR構造体。

戻り値

成功すれば、D3DVECTOR構造体に長さを返す。失敗すれば0を返す。

D3DRMVectorNormalize

絶対値が1になるようにベクトルをスケーリングする。

構文

LPD3DVECTOR D3DRMVectorNormalize(
  LPD3DVECTOR lpv
  );

パラメータ

lpv
スケーリング操作の結果を受け取るD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。たとえば0ベクトルが渡された場合など、エラーが発生すると0を返す。

D3DRMVectorRandom

ランダムなベクトルユニットを返す。

構文

LPD3DVECTOR D3DRMVectorRandom(
  LPD3DVECTOR lpd
  );

パラメータ

lpd
ランダムなベクトルユニットを受け取るD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

D3DRMVectorReflect

指定された法線について、光線を反射する。

構文

LPD3DVECTOR D3DRMVectorReflect(
  LPD3DVECTOR lpd,
  LPD3DVECTOR lpRay,
  LPD3DVECTOR lpNorm
  );

パラメータ

lpd
処理結果を受け取るD3DVECTOR構造体。
lpRay
法線で反射されるD3DVECTOR構造体。
lpNorm
lpRayで指定された光線を反射する法線を示すD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

D3DRMVectorRotate

指定された軸を中心にベクトルを回転させる。成功すると、正規化されたベクトルを返す。

構文

LPD3DVECTOR D3DRMVectorRotate(
  LPD3DVECTOR lpr,
  LPD3DVECTOR lpv,
  LPD3DVECTOR lpaxis,
  D3DVALUE theta
  );

パラメータ

lpr
処理結果を受け取るD3DVECTOR構造体。
lpv
与えられた軸の回りを回転するD3DVECTOR構造体。
lpaxis
回転の軸を示すD3DVECTOR構造体。
theta
ラジアン単位での回転角度。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。このベクトルは正規化されている。

D3DRMVectorScale

3つの軸について同じ比率で、ベクトルをスケーリングする。

構文

LPD3DVECTOR D3DRMVectorScale(
  LPD3DVECTOR lpd,
  LPD3DVECTOR lps,
  D3DVALUE factor
  );

パラメータ

lpd
処理結果を受け取るD3DVECTOR構造体。
lps
スケーリングされるD3DVECTOR構造体。
factor
スケール係数。この値が1のとき、スケーリングは行われない。この値が2のときは2倍になる。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

D3DRMVectorSubtract

2つのベクトル間で減算を行う。

構文

LPD3DVECTOR D3DRMVectorSubtract(
  LPD3DVECTOR lpd,
  LPD3DVECTOR lps1,
  LPD3DVECTOR lps2
  );

パラメータ

lpd
処理結果を受け取るD3DVECTOR構造体。
lps1
lps2が引かれるD3DVECTOR構造体。
lps2
lps1から引くD3DVECTOR構造体。

戻り値

成功すれば、第1パラメータとして渡されたベクトルを返す。失敗すれば0を返す。

Direct3DRMCreate

Direct3DRMオブジェクトのインスタンスを作成する。

構文

HRESULT Direct3DRMCreate(
  LPDIRECT3DRM FAR *lplpD3DRM
  );

パラメータ

lplpD3DRM
呼び出しが成功した場合、有効なDirect3DRMポインタが入るポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMObject


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.