CPP : 는 https://github.com/walbourn/directx-sdk-samples/blob/master/Direct3D11TutorialsDXUT/Tutorial08/Tutorial08.cpp다이렉트 X 11 행렬 번역 내부 버텍스 쉐이더 또는 CPU
HLSL 다음 다이렉트 샘플 내부 https://github.com/walbourn/directx-sdk-samples/blob/master/Direct3D11TutorialsDXUT/Tutorial08/Tutorial08.fx
(튜토리얼 8), 그들은 (로컬 좌표로 정점을 초기화하는 나는 그렇게 생각하지 않는다 반드시 올바른 용어)
// Create vertex buffer
SimpleVertex vertices[] =
{
{ XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT2(1.0f, 0.0f) },
{ XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT2(1.0f, 0.0f) },
{ XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT2(1.0f, 0.0f) },
{ XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT2(1.0f, 0.0f) },
{ XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT2(1.0f, 0.0f) },
{ XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT2(1.0f, 1.0f) },
{ XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT2(0.0f, 1.0f) },
{ XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT2(0.0f, 0.0f) },
{ XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT2(1.0f, 0.0f) },
};
그러나 그들은 버텍스 쉐이더를 통해 위치를 번역하고 있습니다 :
이 (애니 메이팅/이동하지 않음) 정적 객체라면 당신은 여전히 (확실하지 올바른 terminaology) 세계 위치를 번역 할 것이다, 또는 당신이 배치 할 것 :1 :
XMMATRIX mWorldViewProjection = g_World * g_View * g_Projection;
내 질문은 올바른 3D 공간/장면에서 객체하면 정점, 예를 초기화 할 때 :
{ XMFLOAT3(CorrectWorldX, CorrectWorldY, CorrectWorldZ), XMFLOAT2(1.0f, 0.0f) },
이의 완벽한 예는 무작위로 생성 수준/지형 될 것이다.
2 : 셰이더를 사용하여 꼭지점을 초기화 할 때 올바른 3D 세계 공간에서 위치를 지정하는 것보다 성능에 어떤 영향이 있습니까?
3 : 애니메이션의 경우 뼈대 변형에 적합한 문자 애니메이션입니까?
4 레벨을 만들 때 (객체 배치) 셰이더를 통해 번역 할 수밖에 없지만 마지막 위치도 저장할 수 있습니다.
DirectX 11 및 올바른 방법을 배우고 있기 때문에 희망적입니다.
감사합니다! 정확히 내가 무엇을 찾고 있었는지! – Mike5050