BaseMesh.Clone
Clone メソッド
使用例
- メッシュのコピー
オブジェクトを複製する。
オーバーロード リスト
public Mesh Clone (MeshFlags, GraphicsStream, Device) |
public Mesh Clone (MeshFlags, VertexElement[], Device) |
public Mesh Clone (MeshFlags, VertexFormats, Device) |
使用例
メッシュのコピー
この例では、もともと存在していなかった法線、テクスチャ座標、色、重みなどに対するスペースを追加するためにメッシュをコピーする方法を示す。
以下のサンプル コードでは、ファイルからメッシュをコピーした後、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.