inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

Constant Buffer

분명 mesh는 1개인데 삼각형은 두개가 그려지네요?

281

작성자 없음

작성한 질문수 0

0

분명 mesh는 1개인데 삼각형은 두개가 그려지네요?

mesh의 transform을 설정해주고 render를 하는게 두번이 반복돼서 오른쪽으로 밀린게 한번 그려지고 그 다음 위로 밀린게 한번 그려지는거 같은데

그렇게 생각하려니 이해가 가지 않는것이

CMD_LIST->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);

CMD_LIST->IASetVertexBuffers(0, 1, &vertexBufferView); // Slot: (0~15) 은 Instancing에 사용됨

g_Engine->GetConstantBuffer()->PushData(0, &transform, sizeof(Transform));

g_Engine->GetConstantBuffer()->PushData(1, &transform, sizeof(Transform));

CMD_LIST->DrawInstanced(vertexCount, 1, 0, 0);

부분에서 이미 버퍼의 위치를 덮어쓴거 아닌가요?

(라고 생각했습니다... PushData를 뜯어보기 전까진...)

 

PushData역시 CommandQueue에 들어가는 것이기 때문에 RenderEnd로 그려지기 시작하면서 레지스터에 버퍼의 주소값을 바꿔주는것도 포함이 되는 것이겠네요.

 

그리고 비슷한 느낌으로

mesh->Render();
	{
		mesh->SetTransform({ Vec4(0.5,0.5,0.5,0) });
		mesh->Render();
	}

이렇게 코드를 작성해봤었습니다. (Mesh의 Render가 호출 되는 부분은 이게 끝입니다.)

근데 영상에서 SetTransform을 두번 쓴 코드와는 다르게 이렇게 하니까 삼각형이 하나밖에 그려지지가 않네요...? 혹시 이런건 왜 그런건지 알 수 있을까요?

똑같이 트랜스폼 세팅되고 정점버퍼세팅됐는데...

DirectX 게임수학

답변 1

0

Rookiss

마지막 깊이 값을 w를 0으로 하지 마시고,
0 < depth < 1 사이의 값으로 해보세요.
(ex. 0.5 0.5 0.5 0.5)

나중에 렌더링 단계에서 0 < w < 1 사이의 값이 아니면 필터링 됩니다.

0

usaisdie

제가 잘못 생각했었네요

이미 하나의 mesh에 트랜스폼을 적용시켰으니

다른 트랜스폼을 적용시키기 전 까지는 똑같은 곳에 두번 렌더링되는 것 같습니다.

강의를 들으면서 DX11을 처음 접했을 때 처럼 뭔가 폭풍이 지나가는 기분이지만 보고 또 보고 하면서 숙지해야겠습니다.

좋은 강의 감사합니다

Lighting 추가하고 나니 프레임이 많이 떨어지는데 원래 이런 건가요?

0

526

0

Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.

1

568

1

static_pointer_cast와 static_cast의 차이가 무엇인가요?

0

1356

1

Engine.lib 파일을 포함 불가

0

620

1

셰이더 VS_Main에서 행렬 곱해줄 때

0

491

2

1:05분 질문(1시간 5분)

0

304

0

오류가 발생합니다

0

484

1

Animation코드가 무한로딩에 걸리네요

0

350

0

fov 관련해서 질문이 있습니다

0

283

0

normal mapping Tangent Space 수학식 질문

0

388

1

커리큘럼 관련 질문 드립니다!

0

279

0

강의를 어떤식으로 들으면 될까요??

0

385

1

머티리얼과 텍스쳐, 셰이더를 따로 관리해도 되나요?

0

448

1

박스 메쉬 생성하는 함수에서 버텍스가 왜 24개인가요

0

246

1

복수개의 서로 다른 동영상을 Picture in Picture 형식으로 rendering하는 가장 최적의 방법이 궁금합니다.

0

265

0

애니메이션 쉐이더에서 행렬보간 부분에 대해 질문드립니다

0

234

0

assert 에서 _currentIndex 와 _elemtSize 를 비교하는게 이해가 잘 안되네요

1

250

1

DX 공부방법에 대해서 질문 있습니다.

0

644

1

Root Parameter 를 정의하는데 있어서 질문있습니다.

0

378

1

Client 콘솔창이 잠깐 켜졌다가 말아요

0

255

1

DirectX12 Root Signature : CBV관련 질문입니다.

0

355

1

뷰 변환 행렬 관련하여

0

637

2

강의 시작!

0

307

1

using namespace Microsoft::WRL;

0

275

1