BaseMesh.Clone(MeshFlags,GraphicsStream,Device)
Clone メソッド
使用例
- メッシュのコピー
オブジェクトを複製する。
定義
Visual Basic | Public Function Clone( _ ByVal options As MeshFlags, _ ByVal declaration As GraphicsStream, _ ByVal device As Device _ ) As Mesh |
C# | public Mesh Clone( MeshFlags options, GraphicsStream declaration, Device device ); |
Managed C++ | public: Mesh* Clone( MeshFlags options, GraphicsStream* declaration, Device* device ); |
JScript | public function Clone( options : MeshFlags, declaration : GraphicsStream, device : Device ) : Mesh; |
パラメータ
options | Microsoft.DirectX.Direct3D.MeshFlags. |
declaration | Microsoft.DirectX.Direct3D.GraphicsStream. |
device | Microsoft.DirectX.Direct3D.Device. |
戻り値
Microsoft.DirectX.Direct3D.Mesh.
使用例
メッシュのコピー
この例では、もともと存在していなかった法線、テクスチャ座標、色、重みなどに対するスペースを追加するためにメッシュをコピーする方法を示す。
以下のサンプル コードでは、ファイルからメッシュをコピーした後、Mesh.Clone メソッドを呼び出している。Clone へのこの呼び出しにより、32 ビット メッシュ データ、Pool.Managed 頂点ストレージ、サポートされる柔軟な頂点フォーマット VertexFormats、頂点法線を指定するフラグが追加される。
元の pMesh メッシュ オブジェクトは上書きされて、これらの値が追加される。更新された一時的なメッシュ オブジェクトに対する設定の前に、pMesh は破棄される。
using Microsoft.DirectX.Direct3D;
protected Device device; // The rendering device
device = null;
Mesh pMesh = null;
Mesh pTempMesh = null;
GraphicsStream adj = null;
ExtendedMaterial[] mtrl = null;
MeshFlags i32BitFlag;
// Load the mesh from the specified file.
pMesh = Mesh.FromFile("tiger.x", MeshFlags.Managed, device,
out adj,out mtrl);
i32BitFlag = pMesh.Options.Use32Bit ? MeshFlags.Use32Bit : 0;
if ( (pMesh.VertexFormat & VertexFormats.Normal) == 0)
{
pTempMesh = pMesh.Clone(i32BitFlag | MeshFlags.Managed,
pMesh.VertexFormat | pTempMesh.ComputeNormals();
pMesh.Dispose();
pMesh = pTempMesh;
}
対象
© 2002 Microsoft Corporation. All rights reserved. Terms of use.