この項は、IDirect3DRMMeshBuilder3インターフェイスのメソッドのうち、メソッド名がNからZのものをとりあげるリファレンスページである。
現在のデバイスに対してMeshBuilderオブジェクトを最適化する。この操作は高価であることに注意すること。
構文
HRESULT Optimize (DWORD dwFlags);
パラメータ
- dwFlags
- 0でなければならない。
戻り値
次の値のうち1つを返す。
DDERR_INVALIDOBJECT DDERR_INVALIDPARAMS DD_OK
注意
このメソッドは、DirectX version 6.0とともに導入された。
指定された頂点、法線、および面に対してDirect3DRMMeshBuilder3オブジェクト内のスペースを予約する。これにより、システムがメモリを、より効率的に使用できるようになる。
構文
HRESULT ReserveSpace(
DWORD vertexCount,
DWORD normalCount,
DWORD faceCount
);
パラメータ
- vertexCount, normalCount, faceCount
- スペースを割り当てる頂点、法線、および面の数。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトを保存する。
構文
HRESULT Save(
const char * lpFilename,
D3DRMXOFFORMAT d3drmXOFFormat,
D3DRMSAVEOPTIONS d3drmSOContents
);
パラメータ
- lpFilename
- 作成するファイルの名前を指定するアドレス。このファイルのファイル名拡張子は、.xでなければならない。
- d3drmXOFFormat
- D3DRMXOFFORMAT列挙型のD3DRMXOF_TEXT値。
- d3drmSOContents
- 保存オプションを指定するD3DRMSAVEOPTIONS型の値。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
指定のスケーリングファクタを使用してモデル座標でx軸、y軸、z軸に平行にDirect3DRMMeshBuilder3オブジェクトをスケーリングする。
構文
HRESULT Scale(
D3DVALUE sx,
D3DVALUE sy,
D3DVALUE sz
);
パラメータ
- sx, sy, sz
- x軸、y軸、z軸にそって適用されるスケーリングファクタ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトのすべての面に指定の色を設定する。
構文
HRESULT SetColor(
D3DCOLOR color
);
パラメータ
- color
- 面の色。赤、緑、青の色要素だけでなく、アルファ要素も必ずセットする。そうしないと、オブジェクトが可視にならないことがある。RGBA_MAKE DirectXマクロによってこれらの値を指定することができる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトのすべての面に指定の色を設定する。
構文
HRESULT SetColorRGB(
D3DVALUE red,
D3DVALUE green,
D3DVALUE blue
);
パラメータ
- red, green, blue
- 色の赤、緑、青の各成分。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトの色ソースを設定する。
構文
HRESULT SetColorSource(
D3DRMCOLORSOURCE source
);
パラメータ
- source
- 使用する新しい色ソース指定するD3DRMCOLORSOURCE列挙型のメンバ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMMeshBuilder3オブジェクトのすべての面のマテリアルを設定する。
構文
HRESULT SetMaterial(
LPDIRECT3DRMMATERIAL2 lpIDirect3DRMmaterial
);
パラメータ
- lpIDirect3DRMmaterial
- Direct3DRMMeshBuilder3オブジェクトのIDirect3DRMMaterial2インターフェイスのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の法線ベクトルを設定する。
構文
HRESULT SetNormal(
DWORD index,
D3DVALUE x,
D3DVALUE y,
D3DVALUE z
);
パラメータ
- index
- セットする法線のインデックス。
- x, y, z
- 指定の法線に割り当てるベクトルのx、y、zの各要素。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクト中に以前に定義した法線を設定する。
構文
HRESULT SetNormals( DWORD dwFirst, DWORD dwCount, LPD3DVECTOR lpdvVector);
パラメータ
- dwFirst
- 修正する最初の法線のインデックス。
- dwCount
- 修正する法線の数。
- lpdvVector
- 新しい法線データを記述するベクトルの配列。
戻り値
次の値のうち1つを返す。
D3DRMERR_OUTOFRANGE DDERR_INVALIDOBJECT DDERR_INVALIDPARAMS DD_OK
注意
このメソッドは、DirectX version 6.0とともに導入された。
参照
Direct3DRMMeshBuilder3オブジェクトに対するパースペクティブ補正テクスチャマッピングをイネーブルまたはディセーブルにする。
構文
HRESULT SetPerspective(
BOOL perspective
);
パラメータ
- perspective
- メッシュをパースペクティブ補正でテクスチャマップする必要があればTRUEを、そうでなければFALSEを指定する。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトに対するレンダリングクオリティを設定する。
構文
HRESULT SetQuality(
D3DRMRENDERQUALITY quality
);
パラメータ
- quality
- 使用する新しいレンダリングクオリティを指定するD3DRMRENDERQUALITY列挙型のメンバ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
オブジェクトクオリティには、3つのコンポーネントがある。すなわち、シェーディングモード (フラットまたはグーロー。フォンは実装されておらず、デフォルトでグーローシェーディングになる)、照明タイプ (オンまたはオフ) および塗りつぶしモード (ポイント、ワイヤフレームまたはソリッド) である。
デバイスのクオリティを設定するには、IDirect3DRMDevice3::SetQualityを用いる。デフォルトで、デバイスクオリティはD3DRMRENDER_FLAT (フラットシェーディング、照明オンおよびソリッド塗りつぶし) である。
Direct3DRMMeshBuilder3オブジェクトのクオリティを設定するには、SetQualityメソッドを用いる。デフォルトで、Direct3DRMMeshBuilder3オブジェクトのクオリティはD3DRMRENDER_GOURAUD (グーローシェーディング、照明オンおよびソリッド塗りつぶし) である。
ヒント: グーローシェーディングは、詳細レベルを頻繁にまたは素早く変更するプログレッシブメッシュオブジェクトについて、フォンシェーディングよりもよいパフォーマンスを得られる。
Direct3D保持モードは、デバイスやオブジェクトの個々のコンポーネントに対する現在の設定の中で最も低位のクオリティで、オブジェクトにレンダリングを行う。たとえば、オブジェクトの現在のクオリティ設定がD3DRMRENDER_GOURAUDで、デバイスがD3DRMRENDER_FLATであると、オブジェクトはフラットシェーディング、ソリッド塗りつぶし、および照明オンでレンダリングされる。
オブジェクトの現在のクオリティ設定がD3DRMSHADE_GOURAUD|D3DRMLIGHT_OFF|D3DRMFILL_WIREFRAMEで、デバイスのクオリティ設定がD3DRMSHADE_FLAT|D3DRMLIGHT_ON|D3DRMFILL_POINTであると、オブジェクトはフラットシェーディング、照明オフ、およびポイント塗りつぶしモードでレンダリングされる。
これらのルールは、Direct3DRMMeshBuilder3オブジェクトおよびDirect3DRMProgressiveMeshオブジェクトに適用される。しかし、Direct3DRMMeshオブジェクトはこれらのルールに従わない。メッシュオブジェクトはデバイスのクオリティ設定を無視し、グループクオリティ設定を用いる(デフォルトでD3DRMRENDER_GOURAUD)。
参照
Direct3DRMMeshBuilder3オブジェクトのすべての面のテクスチャを設定する。
構文
HRESULT SetTexture(
LPDIRECT3DRMTEXTURE3 lpD3DRMTexture
);
パラメータ
- lpD3DRMTexture
- 必要なDirect3DRMTextureオブジェクトのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトの指定されている頂点のテクスチャ座標を設定する。
構文
HRESULT SetTextureCoordinates(
DWORD index,
D3DVALUE u,
D3DVALUE v
);
パラメータ
- index
- セットする頂点のインデックス。
- u, v
- 指定のメッシュ頂点に割り当てるテクスチャ座標。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMMeshBuilder3オブジェクトのテクスチャトポロジーを設定する。
構文
HRESULT SetTextureTopology(
BOOL cylU,
BOOL cylV
);
パラメータ
- cylU, cylV
- 円筒形トポロジーを、それぞれu次元およびv次元でテクスチャに持たせたい場合、この2つのパラメータの、少なくとも一方にTRUEを、そうでない場合には、FALSEを指定する。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
テクスチャトポロジーフラグ、cylUとcylVは Direct3D直接モードレンダリング状態D3DRENDERSTATE_WRAPU、D3DRENDERSTATE_WRAPVの設定を制御する。ラッピングフラグがTRUEのとき、ラスタライザは、それが2つのテクスチャ座標間で短いほうのパスであれば、テクスチャの1つの辺から反対側の辺に横断 (トロイダル マッピング) する。1つの辺に沿って0.1から0.9の範囲のv座標を持つ三角形があるとする。WRAPVがFALSEであれば、テクスチャのほぼ全長が三角形に沿ってレンダリングされる。WRAPVがTRUEであれば、テクスチャの上部と下部のスライバがレンダリングされる。さらに、ラッピングフラグがTRUEのとき、テクスチャ座標の一部分だけが1.0より大きい値を持つとみなされるため、ラップがTRUEのときテクスチャは面に沿ってタイル化されないことになる。
ラッピング動作の制御は、テクスチャ座標の正しい解釈にとって必要である。単一のテクスチャが多くの面に沿ってラップされている場合、cylUとcylVパラメータをTRUEにセットする。モデルが面当たり1つのテクスチャしか持たないか、または1より大きいテクスチャ座標を使用してテクスチャの複数のコピーを単一の面に沿ってタイル化する場合、cylUとcylVをFALSEにセットする。
いくつかのインターフェイスは、SetTextureTopologyメソッドをエクスポーズする。IDirect3DRMMeshBuilder3::SetTextureTopologyは、すべての要素面上のトポロジーを更新し、IDirect3DRMFace2::SetTextureTopologyによる設定をオーバーライドする。デフォルトでは、IDirect3DRMFrame3::SetTextureは、デフォルトのマテリアルモードがD3DRMMATERIAL_FROMMESHであるため、メッシュを読み込む。マテリアルモードがD3DRMMATERIAL_FROMMESHでない場合、IDirect3DRMFrame3::SetTextureはIDirect3DRMMeshBuilder3::SetTextureTopologyによる設定をオーバーライドする。
Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の位置を設定する。
構文
HRESULT SetVertex(
DWORD index,
D3DVALUE x,
D3DVALUE y,
D3DVALUE z
);
パラメータ
- index
- セットする頂点のインデックス。
- x, y, z
- 指定の頂点に割り当てる位置のx、y、zの各要素。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の色を設定する。
構文
HRESULT SetVertexColor(
DWORD index,
D3DCOLOR color
);
パラメータ
- index
- セットする頂点のインデックス。
- color
- 指定の頂点に割り当てる色。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の色を設定する。
構文
HRESULT SetVertexColorRGB(
DWORD index,
D3DVALUE red,
D3DVALUE green,
D3DVALUE blue
);
パラメータ
- index
- セットする頂点のインデックス。
- red, green, blue
- 指定の頂点に割り当てる色の赤、緑、青の各成分。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMMeshBuilder3オブジェクト中に以前に定義した頂点を設定する。
構文
HRESULT SetVertices( DWORD dwFirst, DWORD dwCount, LPD3DVECTOR lpdvVector);
パラメータ
- dwFirst
- 修正する最初の頂点のインデックス。
- dwCount
- 修正する頂点の数。
- lpdvVector
- 新しい頂点データを記述するベクトルの配列。
戻り値
次の値のうち1つを返す。
D3DRMERR_OUTOFRANGE DDERR_INVALIDOBJECT DDERR_INVALIDPARAMS DD_OK
注意
このメソッドは、DirectX version 6.0とともに導入された。
参照
Direct3DRMMeshBuilder3オブジェクトの頂点の位置に指定のオフセットを加算する。
構文
HRESULT Translate(
D3DVALUE tx,
D3DVALUE ty,
D3DVALUE tz
);
パラメータ
- tx, ty, tz
- 各頂点位置のx座標、y座標、z座標に追加されるオフセット。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.