Direct3DRMMesh

アプリケーションは、Direct3DRMMeshインターフェイスのメソッドを使用して、メッシュのグループと会話する。メッシュは、ポリゴン面のセットから構成されるビジュアルオブジェクトである。メッシュは、頂点のセットと面のセット (面はメッシュの頂点と法線によって定義される) を定義する。いくつかの面が使用している頂点または法線を変更すると、それを共有するすべての面の外観が変わる。

メッシュの頂点はメッシュ中の面の位置を定義し、これらを使用してテクスチャマップ内の2D座標を定義することもできる。

Direct3DRMMeshDirect3DRMMeshBuilder3を使用して、Microsoft® Direct3D® 保持モードでメッシュを操作することができる。

アプリケーションで、同じ特性 (マテリアル、テクスチャなど) をいくつかの頂点または面に割り当てる必要がある場合、Direct3DRMMeshインターフェイスを使用して、これらを1つのグループにまとめることができる。アプリケーションが2つの異なるグループ間で頂点を共有する必要がある場合 (たとえば、メッシュ中の隣接する面の色が異なる場合)、頂点は両方のグループに重複していなければならない。Direct3DRMMesh.AddGroupメソッドは、グループ識別子を面の集合に割り当てる。この識別子を使用して、後続の呼び出しでグループを参照する。

Direct3DRMMeshBuilder3Direct3DRMMeshインターフェイスによって、アプリケーションは3つ以上の側面を持つ面を作成することができる。たとえば、アプリケーションがレンダリングしているハードウェアに64Kの制限があり、メッシュがそのサイズを超えている場合、これらはメッシュを自動的に複数のバッファに分割する。これらの機能は、Direct3DRMMeshDirect3DRMMeshBuilder3 APIをDirect3D APIから切り離してセットする。

Direct3DRMMesh.SetGroupColorSetGroupColorRGBSetGroupTexture、およびSetGroupMaterialメソッドを使用して、メッシュの各面またはメッシュのすべての面に対して同時に、個別の色、テクスチャ、マテリアルプロパティを定義することができる。

レンダリングするメッシュについては、Direct3DRMFrame3.AddVisualメソッドを使用して、最初にフレームに追加しなければならない。単一のメッシュを複数のフレームに追加して、そのメッシュの複数のインスタンスを作成することができる。

Direct3DRMMesh.SetGroupQualityメソッドに対する呼び出しで指定されたように、アプリケーションは、フラット、グーロー、フォンシェードモードを使用することができる(しかし、フォンシェーディングはまだ利用可能ではない)。

Direct3DRMMeshインターフェイスのメソッドは、以下のグループにまとめることができる。

GetGroupColor
SetGroupColor
SetGroupColorRGB
作成と情報 AddGroup
GetBox
GetGroupCount
GetGroupData
GetSizes
GetGroupDataSize
マテリアル GetGroupMaterial
SetGroupMaterial
その他 Scale
Translate
レンダリングクオリティ GetGroupQuality
SetGroupQuality
テクスチャマッピング GetGroupMapping
SetGroupMapping
テクスチャ GetGroupTexture
SetGroupTexture
頂点の位置 GetVertex
GetVertexCount
GetVertices
SetVertex
SetVertices

Direct3DRMMeshインターフェイスは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。

Direct3DRMMeshオブジェクトは、Direct3DRM3.CreateMeshメソッドの使用によって取得される。

Direct3DRMMesh.AddGroup

Direct3DRMMesh

面の集まりをグループ化し、そのグループの識別子を取得する。メッシュに最初に追加されるグループのインデックスは、常に0である。以降のグループのインデックスは、それぞれ1ずつ増加する。

構文

object.AddGroup(vertexCount As Long,
  faceCount As Long,
  verticesPerFace As Long,
  fdata() As Long) As Long

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
vertexCount, faceCount
グループに含まれる頂点と面の数。
verticesPerFace
すべての面が同じ数の頂点を持つ場合、面当たりの頂点の数。グループ中の面が持つ頂点の数が一定でないときは、このパラメータに0を指定しなくてはならない。
fdata
面データ。verticesPerFaceパラメータに値が設定されている場合、このデータは単に、グループの頂点配列へのインデックスリストである。verticesPerFaceが0のときは、頂点インデックスよりも、その面の頂点の数を示す整数値を優先しなくてはならない。たとえば、verticesPerFaceが0で、グループを構成する面が三角形と四角形である場合、データは次のようになる。[ 3, インデックス, インデックス, インデックス, 4, インデックス, インデックス, インデックス, インデックス, 3, インデックス, インデックス, インデックス, ...]

戻り値

グループを識別する値を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

新しく追加されたグループには、以下のデフォルトのプロパティが与えられる。

頂点の位置を設定するには、Direct3DRMMesh.SetVerticesメソッドを使用する。

Direct3DRMMesh.GetBox

Direct3DRMMesh

Direct3DRMMeshオブジェクトを含む境界ボックスを取得する。境界ボックスは、それぞれの次元のモデル座標の最小値と最大値を示す。

構文

object.GetBox(vector As D3DRMBOX)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
vector
境界ボックス座標を受け取るD3DRMBOX型。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMMesh.GetGroupColor

Direct3DRMMesh

グループの色を取得する。

構文

object.GetGroupColor(id As Long) As Long

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。

戻り値

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

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetGroupColorDirect3DRMMesh.SetGroupColorRGB

Direct3DRMMesh.GetGroupCount

Direct3DRMMesh

指定されたDirect3DRMMeshオブジェクト中のグループの数を取得する。

構文

object.GetGroupCount( ) As Long

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。

戻り値

成功すればグループの数を返す。失敗すれば0を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMMesh.GetGroupData

Direct3DRMMesh

指定されたグループに関連付けられた面データを取得する。

構文

object.GetGroupData(id As Long,
  psa() As Long)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
psa
面データを受け取る配列。このデータは、その面の頂点の数を示す整数値が前に指定されたグループの頂点配列へのインデックスリストである。たとえば、グループを構成する面が三角形と四角形である場合、データは次のようになる。[ 3, インデックス, インデックス, インデックス, 4, インデックス, インデックス, インデックス, インデックス, 3, インデックス, インデックス, インデックス, ...]

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMMesh.GetGroupDataSize

Direct3DRMMesh

特定のグループに関連付けられたデータ配列中の要素数を取得する。

構文

object.GetGroupDataSize(id As Long) As Long

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使用して生成されたものでなくてはならない。

戻り値

要素数を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMMesh.GetGroupMapping

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループに対して、どのようにテクスチャがマップされるかを取得する。

構文

object.GetGroupMapping(id As Long) As CONST_D3DRMMAPPINGFLAGS

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。

戻り値

グループへのテクスチャのマップ方法を示すCONST_D3DRMMAPPINGFLAGS列挙型から次の値のうちの1つを返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetGroupMapping

Direct3DRMMesh.GetGroupMaterial

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループに関連付けられたマテリアルを取得する。

構文

object.GetGroupMaterial(id As Long) As Direct3DRMMaterial2

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。

戻り値

Direct3DRMMaterial2オブジェクトを返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetGroupMaterial

Direct3DRMMesh.GetGroupQuality

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の指定されたグループのレンダリングクオリティを取得する。

構文

object.GetGroupQuality(id As Long) As CONST_D3DRMRENDERQUALITY

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。

戻り値

成功すれば、レンダリングクオリティを示すCONST_D3DRMRENDERQUALITY列挙型の値を返す。失敗すれば0を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

レンダリングクオリティとは、デバイスのレンダリングサーフェス上で実行されるレンダリングのクオリティの最大値である。

オブジェクトのクオリティには、3つのコンポーネントがある。つまり、シェーディングモード (フラットまたはグーロー)、照明タイプ (オンまたはオフ) および塗りつぶしモード (ポイント、ワイヤフレームまたはソリッド) である。

参照

Direct3DRMMesh.SetGroupQuality

Direct3DRMMesh.GetGroupTexture

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループに関連付けられたテクスチャを取得する。

構文

object.GetGroupTexture(id As Long) As Direct3DRMTexture3

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。

戻り値

Direct3DRMTexture3オブジェクトを返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetGroupTexture

Direct3DRMMesh.GetSizes

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の指定のグループに対する情報を取得する。

構文

object.GetSizes(id As Long, cnt1 As Long,
  cnt2 As Long,
  cnt3 As Long,
  cnt4 As Long)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
cnt1
グループ中の頂点の数を受け取る。
cnt2
グループ中の面の数を受け取る。
cnt3
すべての面が同じ頂点カウントを持つ場合は、グループ中の各面の頂点の数を受け取る。グループに異なる頂点カウントを持つ面がある場合、このパラメータは0を受け取る。
cnt4
GetGroupDataによって要求されたpsaの必須サイズを受け取る。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetVertices

Direct3DRMMesh.GetVertex

Direct3DRMMesh

特定のグループから1つの頂点を取得する。

構文

object.GetVertex(id As Long,
  idx As Long,
  ret As D3DRMVERTEX)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupを使って生成されたものでなくてはならない。
idx
頂点位置を取得する始点を示すD3DRMVERTEX型の配列のインデックス。
ret
メソッドが戻ったとき、頂点情報(頂点位置、色、テクスチャ座標など)を格納するD3DRMVERTEX型。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetVertices

Direct3DRMMesh.GetVertexCount

Direct3DRMMesh

指定されたDirect3DRMMeshオブジェクトの頂点の数を取得する。

構文

object.GetVertexCount(id As Long) As Long

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupを使って生成されたものでなくてはならない。

戻り値

成功すれば頂点の数を返す。失敗すれば0を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetVertices

Direct3DRMMesh.GetVertices

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の指定のグループに対する頂点情報を取得する。

構文

object.GetVertices(id As Long,
  idx As Long,
  cnt As Long,
  vertexArray() As D3DRMVERTEX)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
idx
頂点位置を取得する始点を示すD3DRMVERTEX型の配列のインデックス。
cnt
idxパラメータで与えられているインデックス以降の、取得するD3DRMVERTEX型 (頂点) の数。このパラメータはNOTHINGにできない。グループ中の頂点の数を取得するには、Direct3DRMMesh.GetVertexCountメソッドを呼び出す。
vertexArray
メソッドが戻ったとき、頂点情報(頂点位置、色、テクスチャ座標など)を格納するD3DRMVERTEX型の配列。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.SetVertices

Direct3DRMMesh.Scale

Direct3DRMMesh

モデル座標のx軸、y軸、z軸に対し、与えられたスケール係数によってDirect3DRMMeshオブジェクトをスケーリングする。

構文

object.Scale(sx As Single,
  sy As Single,
  sz As Single)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
sx, sy, sz
x軸、y軸、z軸に沿って適用されるスケール係数。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMMesh.SetGroupColor

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループの色を設定する。

構文

object.SetGroupColor(id As Long,
  val As Long)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupを使って生成されたものでなくてはならない。
val
グループの色。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

このメソッドは、Direct3DRMMeshInterpolatorオブジェクトにグループカラーキーを追加するためにも使用する。

参照

Direct3DRMMesh.GetGroupColorDirect3DRMMesh.SetGroupColorRGB

Direct3DRMMesh.SetGroupColorRGB

Direct3DRMMesh

RGB値を使用して、Direct3DRMMeshオブジェクト中のグループの色を設定する。

構文

object.SetGroupColorRGB(id As Long,
  r As Single,
  g As Single,
  b As Single)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
r, g, b
グループの色の赤、緑、青の各要素。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

このメソッドは、Direct3DRMMeshInterpolatorオブジェクトにグループRGBキーを追加するためにも使用する。

参照

Direct3DRMMesh.GetGroupColorDirect3DRMMesh.SetGroupColor

Direct3DRMMesh.SetGroupMapping

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループにマッピングを設定する。マッピングは、どのようにテクスチャが面にマップされるかを決定する。

構文

object.SetGroupMapping(id As Long,
  value As CONST_D3DRMMAPPINGFLAGS)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
value
グループのマッピングを指定するCONST_D3DRMMAPPINGFLAGS列挙型からの値。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.GetGroupMapping

Direct3DRMMesh.SetGroupMaterial

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループにマテリアルを関連付ける。

構文

object.SetGroupMaterial(id As Long,
  val As Direct3DRMMaterial2)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
val
Direct3DRMMeshオブジェクトのDirect3DRMMaterial2インターフェイス。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.GetGroupMaterial

Direct3DRMMesh.SetGroupQuality

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の指定されたグループのレンダリングクオリティを設定する。

構文

object.SetGroupQuality(id As Long,
  value As CONST_D3DRMRENDERQUALITY)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
value
レンダリングクオリティを示すCONST_D3DRMRENDERQUALITY列挙型の値。これらの値には、オブジェクトのシェーディングモードや照明モード、塗りつぶしモードが含まれている。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

レンダリングクオリティは、デバイスのレンダリング面上で実行されるレンダリングのクオリティの最大値である。

オブジェクトクオリティには、3つのコンポーネントがある。つまり、シェーディングモード (フラットまたはグーローで、フォンは実装されていない。デフォルトはグーローシェーディング)、照明タイプ (オンまたはオフ) および塗りつぶしモード (ポイント、ワイヤフレームまたはソリッド) である。

参照

Direct3DRMMesh.GetGroupQuality

Direct3DRMMesh.SetGroupTexture

Direct3DRMMesh

Direct3DRMMeshオブジェクト中のグループにテクスチャを関連付ける。

構文

object.SetGroupTexture(id As Long,
  val As Direct3DRMTexture3)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
val
Direct3DRMMeshオブジェクトに関連付けるDirect3DRMTexture3インターフェイス。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMMesh.GetGroupTexture

Direct3DRMMesh.SetVertex

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の既存グループのジオメトリを修正する。

構文

object.SetVertex(id As Long,
  idx As Long,
  values As D3DRMVERTEX)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
idx
修正するメッシュグループの最初の頂点のインデックス。
values
セットする頂点位置を指定するD3DRMVERTEX型。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

頂点情報はグループごとに持つ。2つの異なったグループ間で頂点を共有する必要がある場合(たとえば、メッシュ上の隣接した面の色が異なるとき)、両方のグループで頂点をコピーしなくてはならない。

このメソッドは、Direct3DRMMeshInterpolatorオブジェクトに頂点位置キーを追加するためにも使用する。

参照

Direct3DRMMesh.GetVertices

Direct3DRMMesh.SetVertices

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の指定されたグループに頂点位置を設定する。

構文

object.SetVertices(id As Long,
  idx As Long,
  count As Long,
  vertexArray() As D3DRMVERTEX)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
id
グループの識別子。この識別子はDirect3DRMMesh.AddGroupメソッドを使って生成されたものでなくてはならない。
idx
修正するメッシュグループの最初の頂点のインデックス。
count
セットする連続頂点の数。vertexArray配列は、少なくともcount数の要素を格納しなければならない。
vertexArray
設定する頂点位置を示すD3DRMVERTEX型の配列。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

頂点情報はグループごとに持つ。2つの異なったグループ間で頂点を共有する必要がある場合(たとえば、メッシュ上の隣接した面の色が異なるとき)、両方のグループで頂点をコピーしなくてはならない。

このメソッドは、Direct3DRMMeshInterpolatorオブジェクトに頂点位置キーを追加するためにも使用する。

参照

Direct3DRMMesh.GetVertices

Direct3DRMMesh.Translate

Direct3DRMMesh

Direct3DRMMeshオブジェクト中の頂点の位置に、指定されたオフセットを追加する。

構文

object.Translate(tx As Single,
  ty As Single,
  tz As Single)

要素

object
Direct3DRMMeshオブジェクトを表すオブジェクト式。
tx, ty, tz
各頂点位置のx座標、y座標、z座標に追加されるオフセット。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。


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