Direct3DRMMeshBuilder3

アプリケーションは、IDirect3DRMMeshBuilder3インターフェイスのメソッドを使用してメッシュオブジェクトと対話する。メッシュの詳細については、「Direct3DRMMesh」を参照すること。

Direct3DRMMeshBuilder3.AddVertexAddFaceおよびAddFacesメソッドを使用して、メッシュに対して個別に頂点と面を追加することができる。

法線 (単位ベクトルでなければならない) をセットするか、またはGenerateNormalsメソッドを使用して、囲んでいる面の面法線を平均化して法線を計算することができる。

Direct3DRMMeshBuilder3メソッドは、1つ以上の法線、法線の数、面、1つ以上の頂点、およびメッシュビルダの状態 (有効または無効)を取得する。このインターフェイスによって、頂点と法線のセット、メッシュビルダの新しいサブメッシュと親メッシュの作成と取り出しを行うことができる。また、Direct3DRMMeshBuilder3では、アプリケーションが新しい三角形 (一般的なポリゴンと対立的な意味で) をDirect3DRMMeshBuilder3オブジェクトに追加し、AddTrianglesメソッドを使用して、処理中に暗黙に新しい面を作成できる。

保持モード6.xでは、Direct3DRM3インターフェイスを使用してDirect3DRMMeshBuilder3オブジェクトを作成することができる。この場合、Direct3DRMMeshBuilder3オブジェクトは、その実装のために直接モードのDrawPrimitiveインターフェイスを使用する。

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

GetColorSource
SetColor
SetColorRGB
SetColorSource
生成 GetBox
AddFace
AddFaces
AddFacesIndexed
CreateFace
DeleteFace
GetFaceCount
GetFaceDataSize
GetFace
GetFaces
ロード LoadFromFile
メッシュ AddMesh
CreateMesh
その他 AddFrame
AddMeshBuilder
AddTriangles
Empty
Enable
GetEnable
Optimize
Save
ScaleMesh
SetMaterial
Translate
法線 AddNormal
GenerateNormals
GetNormals
GetNormalCount
SetNormal
パースペクティブ GetPerspective
SetPerspective
レンダリングクオリティ GetQuality
SetQuality
サブメッシュCreateSubMesh
DeleteSubMesh
GetParentMesh
GetSubMeshCount
GetSubMeshes
テクスチャ GetTextureCoordinates
SetTexture
SetTextureCoordinates
SetTextureTopology
頂点 AddVertex
GetGeometry
GetVertex
GetVertexColor
GetVertexCount
SetVertex
SetVertexColor
SetVertexColorRGB

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

Direct3DRMMeshBuilder3オブジェクトは、Direct3DRM3.CreateMeshBuilderメソッドの呼び出しによって取得される。

Direct3DRMMeshBuilder3.AddFace

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに1つの面を追加する。

構文

object.AddFace(f As Direct3DRMFace2)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
f
追加するDirect3DRMFace2オブジェクト。

エラー値

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

注意

どの1つの面も、一度に1つのメッシュにしか存在できない。

Direct3DRMMeshBuilder3.AddFaces

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに複数の面を追加する。

構文

object.AddFaces(vc As Long,
  vertexArray() As D3DVECTOR,
  nc As Long,
  normalArray() As D3DVECTOR,
  data() As Long) As Direct3DRMFaceArray

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
vc
頂点の数。
vertexArray
頂点位置を格納するD3DVECTOR型の配列。
nc
法線の数。
normalArray
法線の位置を格納するD3DVECTOR型の配列。
data
各面に対して、このパラメータは、頂点カウントとそれに続いて頂点配列のインデックスを含む必要がある。ncが0でなければ、このパラメータは、頂点カウントとそれに続いてインデックスの対を含む必要がある。そのインデックスの対の最初のインデックスは、頂点配列に対するインデックスであり、2番目のインデックスは、法線の配列に対するインデックスである。インデックスのリストは、0で終了しなければならない。

戻り値

新しく作成された面へのポインタがセットされるDirect3DRMFaceArrayインターフェイスを返す。

エラー値

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

Direct3DRMMeshBuilder3.AddFacesIndexed

Direct3DRMMeshBuilder3

既存の頂点と法線 (オプション) を使用するメッシュビルダ上に、多数の面を作成できるようにする。

構文

object.AddFacesIndexed(flags As CONST_D3DRMADDFACESFLAGS,
  indexArray() As Long) As Long

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
flags
法線インデックスの処理方法を指定するCONST_D3DRMADDFACESFLAGS列挙型の値。値がD3DRMADDFACES_DEFAULTならば、既存の法線インデックスはindexArrayパラメータ中に指定されていなければならない。そうでない場合、対応するインデックスを持つ法線が各頂点に対して自動的に使用される。
indexArray
各面に対して次のものを指定する、符号なし整数のタップルの連続する配列。
  • 頂点の数 n、ここでnは3以上
  • 頂点インデックス
  • 法線インデックス (オプション)

次のテーブルは、flagsパラメータの値とindexArrayパラメータの必須面タップル形式との関係を示す。

flags 必須面タップル形式
D3DRMADDFACES_DEFAULT {<n>, <vIndex0>, <nIndex0>,...,<vIndex n-1>, <nIndex n-1>}
D3DRMADDFACES_VERTICESONLY {<n>, <vIndex0>,...,<vIndex n-1>}

vIndexとnIndexの値は、メッシュビルダ内に既に存在している頂点と法線にインデックス付けするのに必要となる。タップルの配列は値0で終了する必要がある。

戻り値

メッシュビルダに追加される最初の新しい面のインデックスを返す。

エラー値

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

Direct3DRMMeshBuilder3.AddFrame

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトにフレームの内容を追加する。

構文

object.AddFrame(f As Direct3DRMFrame3)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
f
その内容が追加されるDirect3DRMFrame3オブジェクト。

エラー値

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

注意

このメソッドは、指定されたフレーム階層 (より大きなフレーム階層のサブ分岐も可) からDirect3DRMMeshBuilder3オブジェクトへ、すべてのメッシュとメッシュビルダの面のコピーを追加する。フレームツリーは、ルートフレームを渡すことで指定する。面は、それらが内包する要素フレームの位置と方向によって追加される。ルートフレームに親があっても、指定されたルートフレームの変換は無視される。

ソースフレームは、この操作によって変更または参照もされない。

Direct3DRMMeshBuilder3.AddMesh

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトにメッシュを追加する。

構文

object.AddMesh(m As Direct3DRMMesh)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
m
追加されるDirect3DRMMeshオブジェクト。

エラー値

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

Direct3DRMMeshBuilder3.AddMeshBuilder

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの内容を別のDirect3DRMMeshBuilder3オブジェクトに追加する。内包するDirect3DRMMeshBuilder3ソースオブジェクトと面のもとにあるすべてのサブメッシュビルダは、Direct3DRMMeshBuilder3ターゲットオブジェクトのもとで重複する。

構文

object.AddMeshBuilder(meshbuilder As Direct3DRMMeshBuilder3,
  flags As CONST_D3DRMADDMESHBUILDERFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
meshbuilder
その内容を追加するDirect3DRMMeshBuilder3オブジェクト。
flags
コピーオプションを示すCONST_D3DRMADDMESHBUILDERFLAGS列挙型の1つ以上の値。

エラー値

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

注意

ソースのDirect3DRMMeshBuilder3オブジェクトは、この操作で変更または参照もされない。

Direct3DRMMeshBuilder3.AddNormal

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに法線を追加する。

構文

object.AddNormal(x As Single,
  y As Single,
  z As Single) As Long

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
x, y, z
新しい法線の方向のx、y、zの各要素。

戻り値

法線のインデックスを返す。

エラー値

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

Direct3DRMMeshBuilder3.AddTriangles

Direct3DRMMeshBuilder3

アプリケーションが (一般的なポリゴンと対立的な意味で) 新しい三角形をDirect3DRMMeshBuilder3オブジェクトに追加し、処理中に暗黙に新しい面を作成できるようにする。

構文

object.AddTriangles(flags As Long,
  format As CONST_D3DRMADDTRIANGLESVT,
  vertexCount As Long,
  data As Any)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
flags
0でなければならない。
format
頂点データのフォーマットを記述するCONST_D3DRMADDTRIANGLESVT列挙型の値の論理的な組み合わせ。すべての有効な値が含まれている場合、頂点データは次のD3DRMFLEXVERTEXユーザ定義型によって記述できる。

構文

Type D3DRMFLEXVERTEX
  IType As Long
  color As Long
  normal As D3DVECTOR
  position As D3DVECTOR
  tu As Single
  tv As Single
End Type

Dim verts(100) As D3DRMFLEXVERTEX

AddTriangles(D3DRMFVF_TYPE Or D3DRMFVF_NORMAL Or D3DRMFVF_COLOR Or D3DRMFVF_TEXTURECOORDS, 100, verts(0))

有効な値としては、次の値の任意の論理的組み合わせが可能であり、これらはD3DRMFLEXVERTEX型のどのメンバを各要素の記述に含めるかを示す。positionメンバは常に存在する。

D3DRMFVF_TYPE
ITypeメンバを含める。ITypeメンバが存在する場合、その中には次のどれか1つがなければならない。
D3DRMVERTEX_LIST
新しいリストを開始するか、あるいは以前に開始したリストのメンバである。以前の頂点 (またはその前の頂点) にこのフラグのマークが付いていない場合、最低1つの三角形が形成されるまで、次の頂点にこのフラグのマークが付いていなければならない。
D3DRMVERTEX_STRIP
以前の2つの頂点を持つ新しい三角形を細片フォーマットで形成する。
D3DRMVERTEX_FAN
以前の頂点と扇の最初の頂点を持つ新しい三角形を形成する。
D3DRMFVF_NORMAL
normalメンバを含める。
D3DRMFVF_COLOR
colorメンバを含める。
D3DRMFVF_TEXTURECOORDS
tutvメンバを含める。
vertexCount
頂点の数。
data
formatで記述されるデータ。

エラー値

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

注意

このメソッドは、三角形を記述するアプリケーションに柔軟性を提供する。三角形は頂点のセットで記述される。各頂点は位置を持つが、オプションで法線、テクスチャ座標、または色を持つことも、持たないこともできる。

次の例は、図中の各頂点に対して適切なITypeフラグを示す。

Direct3DRMMeshBuilder3.AddTrianglesの例

頂点数 ITypeフラグ
0 D3DRMVERTEX_STRIP
1 D3DRMVERTEX_STRIP
2 D3DRMVERTEX_STRIP
3 D3DRMVERTEX_STRIP
4 D3DRMVERTEX_STRIP
5 D3DRMVERTEX_FAN
6 D3DRMVERTEX_FAN
7 D3DRMVERTEX_FAN
8 D3DRMVERTEX_LIST
9 D3DRMVERTEX_LIST
10 D3DRMVERTEX_LIST
11 D3DRMVERTEX_LIST
12 D3DRMVERTEX_LIST
13 D3DRMVERTEX_LIST

Direct3DRMMeshBuilder3.AddVertex

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに頂点を追加する。

構文

object.AddVertex(x As Single,
  y As Single,
  z As Single) As Long

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
x, y, z
新しい頂点の位置のx、y、zの各要素。

戻り値

頂点のインデックスを返す。

エラー値

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

Direct3DRMMeshBuilder3.CreateFace

Direct3DRMMeshBuilder3

頂点のない新しい面を作成し、Direct3DRMMeshBuilder3オブジェクトに追加する。

構文

object.CreateFace( ) As Direct3DRMFace2

要素

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

戻り値

新しく作成された面を受け取るDirect3DRMFace2オブジェクトを返す。

エラー値

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

Direct3DRMMeshBuilder3.CreateMesh

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトから新しいメッシュを作成する。

構文

object.CreateMesh( ) As Direct3DRMMesh

要素

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

戻り値

Direct3DRMMeshオブジェクトを返す。

エラー値

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

Direct3DRMMeshBuilder3.CreateSubMesh

Direct3DRMMeshBuilder3

現在のDirect3DRMMeshBuilder3オブジェクトに対して、新しいサブメッシュを作成する。

構文

object.CreateSubMesh( ) As Direct3DRMMeshBuilder3

要素

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

戻り値

Direct3DRMMeshBuilder3オブジェクトを返す。

エラー値

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

注意

サブメッシュは、Direct3DRMMeshBuilder3インターフェイスをサポートし、それ自体もサブメッシュを持てるという点で、メッシュビルダオブジェクトに類似している。サブメッシュとメッシュビルダの相違は、すべてのサブメッシュが頂点と法線を、サブメッシュの連鎖中の大元の祖先と共有することである。メッシュビルダは頂点と法線を共有しない。

参照

Direct3DRMMeshBuilder3.DeleteSubMeshDirect3DRMMeshBuilder3.GetSubMeshDirect3DRMMeshBuilder3.GetParentMesh

Direct3DRMMeshBuilder3.DeleteFace

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの面を削除する。

構文

object.DeleteFace(face As Direct3DRMFace2)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
face
Direct3DRMMeshBuilder3オブジェクトから削除するDirect3DRMFace2オブジェクトのインターフェイス。

エラー値

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

Direct3DRMMeshBuilder3.DeleteSubMesh

Direct3DRMMeshBuilder3

サブメッシュを削除する。サブメッシュは、現在のDirect3DRMMeshBuilder3オブジェクトのすぐ下の子でなければならない。

構文

object.DeleteSubMesh(mesh As Direct3DRMMeshBuilder3)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
mesh
削除するサブメッシュのDirect3DRMMeshBuilder3インターフェイス。

エラー値

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

参照

Direct3DRMMeshBuilder3.CreateSubMeshDirect3DRMMeshBuilder3.GetSubMeshDirect3DRMMeshBuilder3.GetParentMesh

Direct3DRMMeshBuilder3.Empty

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトから、すべての面、頂点、法線を削除する。

構文

object.Empty( )

要素

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

エラー値

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

Direct3DRMMeshBuilder3.Enable

Direct3DRMMeshBuilder3

このDirect3DRMMeshBuilder3オブジェクトを、レンダリングとピッキング用に有効にするか無効にするかを指定する。

構文

object.Enable(flags As CONST_D3DRMADDMESHBUILDERFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
flags
レンダリングとピッキングを有効にするかどうかを指定するCONST_D3DRMMESHBUILDERENABLEFLAGS列挙型の1つ以上の値。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetEnable

Direct3DRMMeshBuilder3.GenerateNormals

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトを処理し、頂点を共有する各面に対する面法線を平均化することによって、メッシュ中の各頂点に対して法線を生成する。新しい法線は、頂点を共有する面が、面どうしの角度が折れ目の角度より大きい場合に生成される。

構文

object.GenerateNormals(angle As Single,
  flags As CONST_D3DRMGENERATENORMALSFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
angle
ラジアン単位の、新しい法線を生成できる面どうしの最小可能角度。
flags
CONST_D3DRMGENERATENORMALSFLAGS列挙型の1つ以上の値。

エラー値

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

注意

D3DRMGENERATENORMALS_PRECOMPACTフラグを指定すると、プリコンパクトパスは、メッシュ中のすべての頂点を検索し、同じ頂点をすべてマージする。これは、ロードされているメッシュをコンパクトにするのに賢明な方法である。メッシュの中には、頂点に複数の法線を持つ場合に、複数の頂点を持つものがある。これは、Direct3D保持モードでは必要とならない。このフラグの指定は、複数の頂点を除去する場合の定番的方法である。

コンパクト処理の後、法線が生成される。面どうしの間の辺が調べられ、面が辺でなす角度が、折り目角より小さい場合には、面法線は平均化され、頂点法線が生成される。角度が折り目角より大きい場合には、新しい法線が生成される。新しい頂点は、生成されないことに注意する。

Direct3DRMMeshBuilder3.GetBox

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトを含む境界ボックスを取得する。境界ボックスは、各次元での最小、最大のモデル座標を与える。

構文

object.GetBox(retV As D3DRMBOX)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
retV
境界ボックスの座標がセットされるD3DRMBOX型。

エラー値

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

Direct3DRMMeshBuilder3.GetColorSource

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの色ソースを取得する。色ソースは、面でも頂点でも良い。

構文

object.GetColorSource( ) As CONST_D3DRMCOLORSOURCE

要素

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

戻り値

CONST_D3DRMCOLORSOURCE列挙型のメンバを返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.SetColorSource

Direct3DRMMeshBuilder3.GetEnable

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトを有効にするか無効にするかを示す値を取得する。

構文

object.GetEnable( ) As CONST_D3DRMADDMESHBUILDERFLAGS

要素

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

戻り値

このDirect3DRMMeshBuilder3オブジェクトの現在の有効状態を示すCONST_D3DRMMESHBUILDERENABLEFLAGS列挙型から値を返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.Enable

Direct3DRMMeshBuilder3.GetFace

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの単一面を取得する。

構文

object.GetFace(id As Long) As Direct3DRMFace2

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
id
取得するメッシュ面のインデックス。この面はDirect3DRMMeshBuilder3オブジェクトの一部になっていなければならない。

戻り値

面を受け取るDirect3DRMFace2インターフェイスを返す。

エラー値

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

Direct3DRMMeshBuilder3.GetFaceCount

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの面の数を取得する。

構文

object.GetFaceCount( ) As Long

要素

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

戻り値

面の数を返す。

エラー値

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

Direct3DRMMeshBuilder3.GetFaceDataSize

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの面データ配列のサイズを取得する。

構文

object.GetFaceDataSize( ) As Long

要素

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

戻り値

GetGeometryに必要なsizeData引数の値を返す。

エラー値

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

注意

このメソッドは、Direct3DRMMeshBuilder3.GetGeometryに必要なfaceData配列のサイズを取得する。

Direct3DRMMeshBuilder3.GetFaces

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの面を取得する。

構文

object.GetFaces( ) As Direct3DRMFaceArray

要素

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

戻り値

面を受け取るDirect3DRMFaceArrayオブジェクトを返す。

エラー値

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

Direct3DRMMeshBuilder3.GetGeometry

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの頂点、法線、面データを取得する。

構文

object.GetGeometry(vertexCount As Long,
  vertexArray() As D3DVECTOR,
  normalCount As Long,
  normalArray() As D3DVECTOR,
  sizeData As Long,
  faceData() As Long) 

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
vertexCount
vertexArray中の頂点の数。
vertexArray
D3DVECTOR型の配列。これはDirect3DRMMeshBuilder3オブジェクトの頂点を含む。GetVertexCountを使って、この配列の最小サイズを決める。
normalCount
normalArray中の法線の数。
normalArray
D3DVECTOR型の配列。これはDirect3DRMMeshBuilder3オブジェクトの法線を含む。GetNormalCountを使って、この配列のサイズを決める。
sizeData
faceData中の要素数を指定する値。
faceData
Direct3DRMMeshBuilder3オブジェクトの面データ。このデータは、NULLで終わる点を除いて、Direct3DRMMeshBuilder3.AddFacesメソッドで指定されたフォーマットと同じである。GetFaceDataSizeを呼び出して配列のサイズを決める。

エラー値

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

Direct3DRMMeshBuilder3.GetNormal

Direct3DRMMeshBuilder3

法線ベクトルを取得する。

構文

object.GetNormal(index As Long,
  desc As D3DVECTOR)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
index
返す法線のインデックス。
desc
法線のx、y、z座標がセットされるD3DVECTOR型。

エラー値

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

Direct3DRMMeshBuilder3.GetNormalCount

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクト中の法線の数を取得する。

構文

object.GetNormalCount( ) As Long

要素

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

戻り値

Direct3DRMMeshBuilder3オブジェクト中の法線の数を返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetNormalDirect3DRMMeshBuilder3.SetNormal

Direct3DRMMeshBuilder3.GetParentMesh

Direct3DRMMeshBuilder3

このDirect3DRMMeshBuilder3オブジェクトの親メッシュを取得する。

構文

object.GetParentMesh(
    flags As CONST_D3DRMPARENTINGFLAGS) 
    As Direct3DRMMeshBuilder3

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
flags
どのDirect3DRMMeshBuilder3オブジェクトを取得するかを定義するCONST_D3DRMPARENTINGFLAGS列挙型の1つ以上の値。

戻り値

Direct3DRMMeshBuilder3オブジェクトを返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetSubMesh

Direct3DRMMeshBuilder3.GetPerspective

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに対して、パースペクティブ補正がオンであるかどうかを判別する。

構文

object.GetPerspective( ) As Long

要素

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

戻り値

パースペクティブ補正がオンの場合は–1、オンでない場合は0を返す。

エラー値

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

Direct3DRMMeshBuilder3.GetQuality

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのレンダリングクオリティを取得する。

構文

object.GetQuality( ) As CONST_D3DRMRENDERQUALITY

要素

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

戻り値

メッシュのレンダリングクオリティを指定するCONST_D3DRMRENDERQUALITY列挙型から値を返す。

エラー値

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

注意

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

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

参照

Direct3DRMMeshBuilder3.SetQuality

Direct3DRMMeshBuilder3.GetSubMeshCount

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに含まれるサブメッシュの数を取得する。

構文

object.GetSubMeshCount( ) As Long

要素

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

戻り値

サブメッシュの数を返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetParentMesh

Direct3DRMMeshBuilder3.GetSubMeshes

Direct3DRMMeshBuilder3

このDirect3DRMMeshBuilder3オブジェクトに含まれるサブメッシュのリストを取得する。

構文

object.GetSubMeshes(count As Long,
  arrayOfMeshBuilders() As Direct3DRMMeshBuilder3)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
count
返される予定のサブメッシュの数。countがポイントする値は、実際に取得されたサブメッシュの数を受け取る。
arrayOfMeshBuilders
子サブメッシュを含むDirect3DRMMeshBuilder3オブジェクトの配列。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetParentMesh

Direct3DRMMeshBuilder3.GetTextureCoordinates

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点のテクスチャ座標を取得する。

構文

object.GetTextureCoordinates(idx As Long,
  u As Single,
  v As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
頂点のインデックス。
u, v
返された頂点のテクスチャ座標。

エラー値

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

参照

Direct3DRMMeshBuilder3.SetTextureCoordinates

Direct3DRMMeshBuilder3.GetVertex

Direct3DRMMeshBuilder3

頂点ベクトルを取得する。

構文

object.GetVertex(id As Long,
  vec As D3DVECTOR)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
id
返す頂点のID。
vec
頂点のx、y、z座標がセットされるD3DVECTOR型。

エラー値

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

Direct3DRMMeshBuilder3.GetVertexColor

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の色を取得する。

構文

object.GetVertexColor(index As Long) As Long

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
index
頂点のインデックス。

戻り値

色を返す。

エラー値

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

参照

Direct3DRMMeshBuilder3.SetVertexColor

Direct3DRMMeshBuilder3.GetVertexCount

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクト中の頂点の数を取得する。

構文

object.GetVertexCount( ) As Long

要素

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

戻り値

頂点の数を返す。

エラー値

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

Direct3DRMMeshBuilder3.LoadFromFile

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトをロードする。

構文

object.LoadFromFile(filename As String,
  id As String,
  options As CONST_D3DRMLOADFLAGS,
  loadTextureImplementation As Direct3DRMLoadTextureCallback3,
  userArgument As Object)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
filename
ロードするオブジェクトのソース。ソースは、flagsパラメータで指定されたソースフラグに従って、ファイル、リソース、メモリブロック、またはストリームにできる。
id
ロードするオブジェクトの名前または位置。idが""の場合は、optionsパラメータをD3DRMLOAD_FIRSTに設定しなければならない。Microsoft Visual Basic® は、Stringデータ型が指定されている場合でも、ロードするアイテムの位置を示すidパラメータの中のIntegerを受け入れる。たとえば、idパラメータに1が設定されていると、1番目の位置のオブジェクトがロードされる。
options
ロードオプションを記述するCONST_D3DRMLOADFLAGS列挙型の1つ以上の値。
loadTextureImplementation
Direct3DRMLoadTextureCallback3コールバックインターフェイス。特殊なフォーマッティングを必要とするオブジェクトによって使用される、任意のテクスチャをロードするために使われる。テクスチャは、2で割れる幅と長さでなければならない。このパラメータはNOTHINGにできる。
userArgument
コールバックに渡されるアプリケーション定義データ。

エラー値

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

注意

デフォルトでは、このメソッドはfilenameパラメータで指定されているソースから最初のメッシュをロードする。

このメソッドは、Direct3DRM3.SetOptionsがセットする右手と左手ジオメトリオプションを考慮する。

そのロードメソッドを複数回を呼び出すことで、複数のオブジェクトをDirect3DRMMeshBuilder3オブジェクトにロードすることができる。

LoadFromFileメソッドは、filenameパラメータを使用してオブジェクトのソースを指定し、idパラメータによってオブジェクトを識別する。システムはソースフラグの選択に基づいてfilenameパラメータを解釈する。そして、識別子フラグの選択に基づいてidパラメータの内容を解釈する。

インスタンスフラグは、パラメータの解釈方法には何も変更を加えない。D3DRMLOAD_INSTANCEBYREFERENCEフラグを用いると、新しいオブジェクトを作成することなく同じファイルを2回ロードすることができる。オブジェクトが名前を持っていない場合、D3DRMLOAD_INSTANCEBYREFERENCEフラグをセットすると、D3DRMLOAD_INSTANCEBYCOPYINGフラグをセットしたときと同じ効果を得ることができる。ローダは、同一のオブジェクトが存在しても、各名前なしオブジェクトを新しいオブジェクトとして作成する。

Direct3DRMMeshBuilder3.Optimize

Direct3DRMMeshBuilder3

現在のデバイスに対してDirect3DRMMeshBuilder3オブジェクトを最適化する。この操作は高価になることがある。

構文

object.Optimize( )
object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。

エラー値

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

Direct3DRMMeshBuilder3.Save

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトを保存する。

構文

object.Save(fname As String,
  xFormat As CONST_D3DRMXOFFORMAT,
  Save As CONST_D3DRMSAVEFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
fname
作成されるファイルの名前。このファイルのファイル名拡張子は、.xでなければならない。
xFormat
CONST_D3DRMXOFFORMAT列挙型のD3DRMXOF_TEXT値。
Save
保存オプションを示すCONST_D3DRMSAVEFLAGS列挙型の1つ以上の値。

エラー値

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

Direct3DRMMeshBuilder3.ScaleMesh

Direct3DRMMeshBuilder3

指定のスケーリング係数を使用してモデル座標でx軸、y軸、z軸に平行にDirect3DRMMeshBuilder3オブジェクトをスケーリングする。

構文

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

要素

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

エラー値

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

Direct3DRMMeshBuilder3.SetColor

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのすべての面に指定の色を設定する。

構文

object.SetColor(col As Long)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
col
面の色。赤、緑、青の色要素だけでなく、アルファ要素も必ずセットする。そうしないと、オブジェクトが可視にならないことがある。色は4バイトのLongで表される。高バイトはアルファ要素であり、後続のバイトが赤、緑、青を定義する。より簡単に色を構築するにはDirectX7オブジェクトのCreateColorRGBAを使い、フルアルファを希望しているだけの場合はSetColorRGBを使う。

エラー値

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

Direct3DRMMeshBuilder3.SetColorRGB

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのすべての面に赤、緑、青の色要素を設定する。

構文

object.SetColorRGB(red As Single,
  green As Single,
  blue As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
red, green, blue
色の赤、緑、青の各成分。

エラー値

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

Direct3DRMMeshBuilder3.SetColorSource

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの色ソースを設定する。

構文

object.SetColorSource(val As CONST_D3DRMCOLORSOURCE)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
val
使用する新しい色ソース指定するCONST_D3DRMCOLORSOURCE列挙型のメンバ。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetColorSource

Direct3DRMMeshBuilder3.SetMaterial

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのすべての面のマテリアルを設定する。

構文

object.SetMaterial(mat As Direct3DRMMaterial2)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
mat
Direct3DRMMeshBuilder3オブジェクトのDirect3DRMMaterial2インターフェイス。

エラー値

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

Direct3DRMMeshBuilder3.SetNormal

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の法線ベクトルを設定する。

構文

object.SetNormal(idx As Long,
  x As Single,
  y As Single,
  z As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
設定する法線のインデックス。
x, y, z
指定の法線に割り当てるベクトルのx、y、zの各要素。

エラー値

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

Direct3DRMMeshBuilder3.SetPerspective

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトに対するパースペクティブ補正テクスチャマッピングを有効または無効にする。

構文

object.SetPerspective(perspectiveEnabled As CONST_DBOOLFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
perspectiveEnabled
メッシュをパースペクティブ補正でテクスチャマップする必要があればD_TRUEを、そうでなければD_FALSEを指定する。

エラー値

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

Direct3DRMMeshBuilder3.SetQuality

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのレンダリングクオリティを設定する。

構文

object.SetQuality(q As CONST_D3DRMRENDERQUALITY)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
q
使用する新しいレンダリングクオリティを指定するCONST_D3DRMRENDERQUALITY列挙型のメンバ。

エラー値

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

注意

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

デバイスのクオリティを設定するには、Direct3DRMDevice3.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.GetQuality

Direct3DRMMeshBuilder3.SetTexture

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのすべての面のテクスチャを設定する。

構文

object.SetTexture(tex As Direct3DRMTexture3)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
tex
必要なDirect3DRMTexture3オブジェクト。

エラー値

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

Direct3DRMMeshBuilder3.SetTextureCoordinates

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点のテクスチャ座標を設定する。

構文

object.SetTextureCoordinates(idx As Long,
  u As Single,
  v As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
設定する頂点のインデックス。
u, v
T指定のメッシュ頂点に割り当てるテクスチャ座標。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetTextureCoordinates

Direct3DRMMeshBuilder3.SetTextureTopology

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトのテクスチャトポロジを設定する。

構文

object.SetTextureTopology(wrap_u As CONST_DBOOLFLAGS,
  wrap_v As CONST_DBOOLFLAGS)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
wrap_u, wrap_v
テクスチャトポロジを示す値。円筒形トポロジを、それぞれu次元およびv次元でテクスチャに持たせたい場合、この2つのパラメータの、少なくとも一方にD_TRUEを、そうでない場合には、D_FALSEを指定する。

エラー値

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

注意

テクスチャトポロジフラグ、wrap_uwrap_vは Direct3D直接モードレンダリング状態D3DRENDERSTATE_WRAPUD3DRENDERSTATE_WRAPVの設定を制御する。ラッピングフラグがD_TRUEのとき、ラスタライザは、それが2つのテクスチャ座標間で短い方のパスであれば、テクスチャの1つの辺から反対側の辺に横断 (トロイダルマッピング) する。

1つの辺に沿って0.1から0.9の範囲のv座標を持つ三角形があるとする。WRAPVがD_FALSEであれば、テクスチャのほぼ全長が三角形に沿ってレンダリングされる。WRAPVがD_TRUEであれば、テクスチャの上部と下部のスライバがレンダリングされる。さらに、ラッピングフラグがD_TRUEのとき、テクスチャ座標の一部分だけが1.0より大きい値を持つとみなされるため、ラップがD_TRUEのときテクスチャは面に沿ってタイル化されないことになる。

ラッピング動作の制御は、テクスチャ座標の正しい解釈にとって必要である。単一のテクスチャが多くの面に沿ってラップされている場合、wrap_uwrap_vパラメータをD_TRUEにセットする。モデルが面当たり1つのテクスチャしか持たないか、または1より大きいテクスチャ座標を使用してテクスチャの複数のコピーを単一の面に沿ってタイル化する場合、wrap_uwrap_vをD_FALSEにセットする。

いくつかのインターフェイスは、SetTextureTopologyメソッドをエクスポーズする。Direct3DRMMeshBuilder3.SetTextureTopologyは、すべての要素面上のトポロジを更新し、Direct3DRMFace2.SetTextureTopologyによる設定をオーバーライドする。デフォルトでは、Direct3DRMFrame3.SetTextureTopologyは、デフォルトのマテリアルモードがD3DRMMATERIAL_FROMMESHであるため、メッシュを読み込む。マテリアルモードがD3DRMMATERIAL_FROMMESHでない場合、Direct3DRMFrame3.SetTextureTopologyDirect3DRMMeshBuilder3.SetTextureTopologyによる設定をオーバーライドする。

Direct3DRMMeshBuilder3.SetVertex

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の位置を設定する。

構文

object.SetVertex(idx As Long,
  x As Single,
  y As Single,
  z As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
設定する頂点のインデックス。
x, y, z
指定の頂点に割り当てる位置のx、y、zの各要素。

エラー値

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

Direct3DRMMeshBuilder3.SetVertexColor

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の色を設定する。

構文

object.SetVertexColor(idx As Long,
  c As Long)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
設定する頂点のインデックス。
c
指定の頂点に割り当てる色。

エラー値

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

参照

Direct3DRMMeshBuilder3.GetVertexColor

Direct3DRMMeshBuilder3.SetVertexColorRGB

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの指定されている頂点の赤、緑、青の色要素を設定する。

構文

object.SetVertexColorRGB(idx As Long,
  r As Single,
  g As Single,
  b As Single)

要素

object
Direct3DRMMeshBuilder3オブジェクトを表すオブジェクト式。
idx
設定する頂点のインデックス。
r, g, b
指定の頂点に割り当てる色の赤、緑、青の各成分。

エラー値

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

Direct3DRMMeshBuilder3.Translate

Direct3DRMMeshBuilder3

Direct3DRMMeshBuilder3オブジェクトの頂点の位置に指定のオフセットを追加する。

構文

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

要素

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

エラー値

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


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