tangent와 biNomal에 대해 질문드립니다.

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
namkh82
Posts: 2
Joined: 2009-07-16 14:05

tangent와 biNomal에 대해 질문드립니다.

Post by namkh82 »

매쉬로 하는 방법이 있습니다만, 노말맵을 적용하려는 부분이 SLOD지형이라
D3DXMESH로 하면 성능상 불이익이 커서 탄젠트와 바이노말을 FVF를 사용해서
넘기는 방법에 대해서 질문드려보고 싶습니다. 어떤 플래그를 사용해야하나요?


#define USER_FVF (D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_NORMAL | 탄젠트 | 바이노말)


이런 방식으로 지정하려면 탄젠트와 바이노말에는 어떤 플래그를 사용해야하나요??
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Re: tangent와 biNomal에 대해 질문드립니다.

Post by zupet »

namkh82 wrote:매쉬로 하는 방법이 있습니다만, 노말맵을 적용하려는 부분이 SLOD지형이라
D3DXMESH로 하면 성능상 불이익이 커서 탄젠트와 바이노말을 FVF를 사용해서
넘기는 방법에 대해서 질문드려보고 싶습니다. 어떤 플래그를 사용해야하나요?


#define USER_FVF (D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_NORMAL | 탄젠트 | 바이노말)


이런 방식으로 지정하려면 탄젠트와 바이노말에는 어떤 플래그를 사용해야하나요??
FVF 에는 Tangent, Binormal 이 정의되어 있지 않습니다.

D3DVERTEXELEMENT9 구조체 배열과 IDirect3DDevice9::CreateVertexDeclaration() 함수를 사용하서야 하리라 생각되는군요.
eternal
Posts: 14
Joined: 2009-06-20 08:22

Re: tangent와 biNomal에 대해 질문드립니다.

Post by eternal »

namkh82 wrote:매쉬로 하는 방법이 있습니다만, 노말맵을 적용하려는 부분이 SLOD지형이라
D3DXMESH로 하면 성능상 불이익이 커서 탄젠트와 바이노말을 FVF를 사용해서
넘기는 방법에 대해서 질문드려보고 싶습니다. 어떤 플래그를 사용해야하나요?


#define USER_FVF (D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_NORMAL | 탄젠트 | 바이노말)


이런 방식으로 지정하려면 탄젠트와 바이노말에는 어떤 플래그를 사용해야하나요??
D3DVERTEXELEMENT9 decl[] =
{
{0, _offset, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{0, (_offset+=(4*3)), D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },
{0, (_offset+=(4*3)), D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
{0, (_offset+=(4*2)), D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0 },
{0, (_offset+=(4*3)), D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 },
D3DDECL_END()
};
Locked