인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

솜 뭉치님의 프로필 이미지
솜 뭉치

작성한 질문수

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

Scene 구조 정리

Scene Update 부분 코드질문

작성

·

42

0

image.png

강의에서는 저기 INSTANCING 부분이 없이 끝나는데

강의에서 SceneDemo에서 INSTANCING->Render(obj); f코드를 없애서 그런지 검은화면만 출력되는데 저 부분이 넣어야 제대로 동작을 하는 것 같아요. 저 코드를 넣는게 맞는거겠죠? 그리고 이미 _objects로 캐싱했는데 다시 temp에 넣고 INSTANCING->Render(temp); 이 코드를 실행하는 이유가 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 솜 뭉치님.

질문해주신 내용과 유사한 기존 질문이 있는지 확인해봤습니다. 다행히 관련 내용을 다룬 답변들이 있어 그 중 유사한 내용을 아래에 소개해 드립니다.

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

  1. cpp코드와 셰이더 코드로 왔다 갔다 하는 부분에 대해서

  2. winapi object2 강의중에

    • 요약: 복사 방식과 참조 방식을 교차해서 사용하는 이유에 대해 설명하는 질문입니다.
    • 링크: winapi object2 강의중에

해당 답변들을 바탕으로 솜 뭉치님 질문에 대한 요약과 설명을 드리겠습니다.

INSTANCING과 캐싱의 목적

1. INSTANCING->Render(temp)를 넣어야 하나요?
- 강의와 다르게 검은 화면만 나온다면, INSTANCING->Render(temp) 호출이 필요한 상황일 가능성이 큽니다. 이 함수는 물체를 렌더링하는 역할을 하기 때문에, 주어진 오브젝트들에 대해 업데이트 후 화면에 그리는 역할을 합니다.

2. 왜 temp에 다시 넣고 INSTANCING->Render(temp)를 실행하나요?
- 불필요한 중복 캐싱처럼 보이지만, 이는 객체 업데이트 후 일관된 상태에서 렌더링을 보장하기 위한 패턴일 수 있습니다.
- _objects는 Scene 내부적으로 관리하는 원본 데이터이며, temp는 이 데이터를 복사해서 사용함으로써 업데이트와 렌더링 사이의 잠재적인 상태 변이를 방지합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

솜 뭉치님의 프로필 이미지
솜 뭉치

작성한 질문수

질문하기