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

이준호 (경소담)님의 프로필 이미지
이준호 (경소담)

작성한 질문수

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

장치 초기화

swapchain에서

작성

·

167

0

 RenderingBegin, RenderingEnd에서

swapchain이 버퍼로서 2개를 가지고있고 

하나는 출력 다른 하나는 외주?렌더링을 하는데

출력하는 버퍼는 오직 출력만 하고

렌더링 하는 버퍼는  RenderingBegin, RenderingEnd

실행을 하고 swapindex()를 실행해서 렌더링 버퍼를 출력 버퍼로, 출력 버퍼를 렌더링 버퍼로 교환해주는게 맞나요?

그렇다면 CD3DX12_RESOURCE_BARRIER::Transition(....)  이 함수가 단 하나의 버퍼를 대상으로 실행하는 함수가 맞나요??

swapchain 1, 2 를 교환해준다는 개념으로 생각하면 말이 안되 햇갈려서 질문 드립니다!

감사합니다.

답변 1

0

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

출력 버퍼를 설정하는 부분은 다음과 같습니다.

GetBackBufferView() 는 내부적으로 2개의 버퍼 중 1개를 선택하는데,
index 교체를 SwapIndex()로 해주고 있습니다.
CD3DX12_RESOURCE_BARRIER::Transition
이 아이는 리소스의 상태를 변경하는 역할을 담당하며
[기존 상태 -> 새로운 상태]로 변경하고 1개의 리소스 대상으로만 호출합니다.

해당 부분도 나~중에 RenderTarget에 대한 내용을 다룰 때
또 살펴볼 기회가 있으니, 일단 잘 이해가 안 가도 쭉 스킵하셔도 무방합니다.

이준호 (경소담)님의 프로필 이미지
이준호 (경소담)

작성한 질문수

질문하기