다양한 잠재적 버텍스 형식에 적응해야하는 응용 프로그램을 작성 중입니다. 내가로드하고있는 메쉬에는 잠재적 인 버텍스 속성 (색상, 법선, 텍스처 코드, 가중치 등)이있을 수도 있고 없을 수도 있습니다.DirectX : Dynamic Vertex Declartion
선언의 간단한 예는 다음과 같다 :
D3DVERTEXELEMENT9 simple_decl[] =
{
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
{0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},
{0, 20, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0},
{0, 24, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1},
D3DDECL_END()
};
struct MYVERTS
{
float x,y,z,u,v;
DWORD colr;
float nx,ny,nz;
};
는 기본적 D3DVERTEXELEMENT9는 오프셋의 어레이이다. 각 오프셋은 "MYVERTS"데이터 멤버의 크기입니다.
사용자가 XYZ 좌표 및 색상으로 모델을 내 보내면 동적으로 3 개의 부동 소수점과 1 개의 DWORD를 가진 구조체를 생성 한 다음 오프셋 및 D3DDECLUSAGE가있는 선언을 생성하려고합니다.
실마리가 없습니다. 누구라도 조언을하나요?