Skip to content

RenderScene

29thnight edited this page Nov 28, 2025 · 1 revision

RenderScene

간단 설명: 씬 렌더링을 관리하는 중심 클래스. 각 렌더러/컴포넌트 등록, 섀도우 처리, 애니메이터 및 렌더 패스 데이터 관리.

메서드

메서드 명 메서드 설명
Initialize() 내부 컨트롤러/렌더 패스 데이터 초기화
Finalize() 리소스 및 맵/팔레트 해제
SetScene(scene) 현재 씬 설정
SetBuffers(modelBuffer) 모델 행렬 상수버퍼 설정
Update(deltaSecond) 라이트 정보 갱신 및 현재 씬 동기화
ShadowStage(camera) 섀도우 렌더링 준비 및 업데이트
CreateShadowCommandList(deferredContext,camera) 섀도우 커맨드 리스트 생성
UseModel() 즉시 컨텍스트에 모델 버퍼 바인딩
UseModel(deferredContext) 디퍼드 컨텍스트에 모델 버퍼 바인딩
UpdateModel(model) 모델 행렬 상수버퍼 업데이트(즉시)
UpdateModel(model,deferredContext) 모델 행렬 상수버퍼 업데이트(디퍼드)
AddRenderPassData(cameraIndex) 카메라별 렌더 패스 데이터 생성/획득
GetRenderPassData(cameraIndex) 렌더 패스 데이터 반환
RemoveRenderPassData(cameraIndex) 렌더 패스 데이터 파괴 마킹
EraseRenderPassData() 파괴 마킹된 데이터 실제 제거
RegisterAnimator(animator) 애니메이터 등록 & 팔레트 메모리 할당
UnregisterAnimator(animator) 애니메이터 및 팔레트 해제
RegisterCommand(<Component*>) 각 컴포넌트용 프록시 생성 및 맵에 삽입
InvaildCheck<Type>(ptr) 컴포넌트 유효성/프록시 존재 여부 검사
UpdateCommand(<Component*>) 프록시 업데이트 커맨드 큐에 푸시
MakeProxyCommand(<Component*>) 컴포넌트 기반 ProxyCommand 생성
UnregisterCommand(<Component*>) 프록시 만료 처리
FindProxy(guid) Primitive 프록시 검색
FindUIProxy(guid) UI 프록시 검색
OnProxyDestroy() 파괴 요청 큐 처리 후 맵에서 제거
GetScene() 현재 씬 반환
GetAnimatorMap() 애니메이터 맵 참조 반환

맴버변수

맴버변수 명 맴버변수 설명
m_LightController 라이트 및 섀도우 제어 객체
g_shadowMapDesc (static) 전역 섀도우맵 렌더 설명
RegisteredDestroyProxyGUIDs (static) 파괴 요청된 Primitive 프록시 GUID 큐
RegisteredDestroyUIProxyGUIDs (static) 파괴 요청된 UI 프록시 GUID 큐
m_currentScene 현재 활성 씬 포인터
m_animationJob 애니메이션 갱신 작업 객체
m_proxyMap GUID→PrimitiveRenderProxy shared_ptr 맵
m_uiProxyMap GUID→UIRenderProxy shared_ptr 맵
m_animatorMap GUID→Animator shared_ptr 맵
m_palleteMap 애니메이션 팔레트(갱신 플래그, 행렬 배열) 맵
m_renderDataMap 카메라 인덱스 기반 렌더 패스 데이터 배열
m_ModelBuffer 모델 행렬 상수버퍼
m_proxyMapFlag Primitive 맵 SpinLock용 atomic_flag
m_uiProxyMapFlag UI 맵 SpinLock용 atomic_flag
m_isPlaying 플레이(런타임) 상태 플래그

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally