하도 안되서 소프트웨어 인스턴싱을 했는데..
그랬더니 프레임이 전혀 나오질 않습니다..
그래서, 다시 책을 차근차근보며, 레퍼런스를 비교해보며 뭐가 잘못된질 봐도 모르겠습니다.
구글링을해도 고만고만한거 같고..
휴, 지금 가장 큰 문제는 입력조립기가 완성이 되지 않습니다.
아무리봐도 뭐가 문젠지 모르겠어서.. 답답해서, 여쭤봅니다..
도대체 제가 뭘 잘못 생각하고 있는건가요..
입력조립기가, 계속 '매개변수가 틀립니다' 라는 오류로만 나옵니다..
디버깅을 해봐도 값은 정상적으로 들어가는걸로 보여서 더욱 혼란스럽습니다.
Code: Select all
// 다이렉트 자료형
struct VertexPNT
{
XMFLOAT3 Pos;
XMFLOAT3 Normal;
XMFLOAT2 Tex;
XMFLOAT3 Tangent;
XMFLOAT3 BiNormal;
};
// 쉐이더 자료형
struct TLInsVertexIn
{
float3 PosL : POSITION;
float3 NormalL : NORMAL;
float2 Tex : TEXCOORD;
float3 Tangent : TANGENT;
float3 BiNormal : BINORMAL;
row_major float4x4 World : WORLD;
uint InstanceId : SV_InstanceID;
};
Code: Select all
else if (mShaderMode == e_ShaderPongTexIns || mShaderMode == e_ShaderCartoonTexIns)
{
D3D11_INPUT_ELEMENT_DESC vertexDesc[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT , 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA , 0 },
{ "NORMAL" , 0, DXGI_FORMAT_R32G32B32_FLOAT , 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA , 0 },
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT , 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA , 0 },
{ "TANGENT" , 0, DXGI_FORMAT_R32G32B32_FLOAT , 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA , 0 },
{ "BINORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT , 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA , 0 },
{ "WORLD" , 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0 , D3D11_INPUT_PER_INSTANCE_DATA, 1 }
};
// Create the input layout
NEW_IA(tEffectStorage, vertexDesc, _countof(vertexDesc));
}
Code: Select all
// IA 생성
void NEW_IA(EffectStorage* tEffectStorage, D3D11_INPUT_ELEMENT_DESC* vertexDesc, int _FVFNum)
{
// Create the input layout
D3DX11_PASS_DESC passDesc;
tEffectStorage->mTech->GetPassByIndex(0)->GetDesc(&passDesc);
HR(cCoreStorage::GetInstance()->md3dDevice->CreateInputLayout(
vertexDesc,
_FVFNum,
passDesc.pIAInputSignature,
passDesc.IAInputSignatureSize,
&tEffectStorage->mInputLayout));
}