인프런 커뮤니티 질문&답변

김도형님의 프로필 이미지
김도형

작성한 질문수

[게임 프로그래머 도약반] DirectX11 입문

모든 GameObject가 하나의 TransformBuffer를 쓰는 건에 대하여

해결된 질문

작성

·

221

0

MeshRenderer에 구현되어서 각 GameObject마다 한개씩 가지고 있던 TransformBuffer를 RenderManager로 옮기면서 모든 GameObject에 한개의 TransformBuffer를 사용한다고 하셨습니다.

질문은 "모든 GameObject에 TransformBuffer를 하나만 사용하면 TransformData가 중간에 곂쳐서 지워지거나 하진 않는가?" 입니다.

제가 생각해봤을때 모든 Renderable GameObject 하나하나마다 for문을 통해 지금 GameObject가 이미 렌더링 되고 다음 GameObject로 넘어가므로 이전 GameObject를 그리기 위해 사용한 ConstantBuffer의 내용을 갱신해도 괜찮다고 생각되는데 제 생각이 맞나요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

지금은 그렇지만 나중에 Instancing이 들어가면 조금 개념이 달라집니다.
그리고 TransformBuffer에 TransformData를 복사하고 넘기고, 하는 부분이 확실히 비효율적이긴 하죠.
그래서 DX12에선 이런 부분을 Buffer를 크게 할당하고 거기다 순차적으로 복사를 예약하는 식으로 작업하게 됩니다.

김도형님의 프로필 이미지
김도형
질문자

아하 감사합니다

김도형님의 프로필 이미지
김도형

작성한 질문수

질문하기