2

DirectX メッシュ用の法線マッピング シェーダーを作成しようとしています。学校のメモに従っていると、頂点構造に Pos 用の Vec3 と、法線、従法線、および接線ですが、従法線と接線を取得する方法がわかりません。D3DXComputeTangentFrameEx 関数を使用するように指示された私の本を参照しましたが、私のメッシュはすべて D3DXFRAME オブジェクトであり、ID3DXMesh* ではありません。

誰でも私を助けることができますか?

また、追加したいのですが、既に pos と法線ベクトルがあります。

4

1 に答える 1

0

D3DXFRAMEを見ると、D3DXMESHCONTAINER*タイプのpMeshContainerメンバーが見つかり、 D3DXMESHDATAタイプのメンバーがあり、タイプのメンバーがありますが、有効なのは.MeshDatapMeshID3DXMesh*Type == D3DXMESHTYPE_MESH

例:

{
    D3DXFRAME Frame;

    ID3DXMesh* pMesh;

    if( Frame.pMeshContainer->MeshData.Type == D3DXMESHTYPE_MESH )
        pMesh = Frame.pMeshContainer->MeshData.pMesh;
    else
        pMesh = 0;  // model is ID3DXPatchMesh type
}
于 2012-08-29T08:46:20.023 に答える