Skip to content

MeshRendererProxy

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

MeshRendererProxy (PrimitiveRenderProxy & ProxyFilter)

간단 설명: 다양한 렌더 컴포넌트를 공통 렌더 프록시(PrimitiveRenderProxy)로 표현하고, 애니메이터/머티리얼/LOD/비트플래그 조합을 필터(ProxyFilter)로 정렬에 활용.

PrimitiveRenderProxy 주요 메서드

메서드 명 메서드 설명
PrimitiveRenderProxy(<Component*>) MeshRenderer / Terrain / Foliage / Decal / SpriteRenderer용 생성자 오버로드
복사/이동 생성자 프록시 상태 복제/이동
~PrimitiveRenderProxy() 소멸자
IsNeedUpdateCulling() 컬링 재계산 필요 여부 반환
SetNeedUpdateCulling(flag) 컬링 필요 플래그 설정
SetSkinnedMesh(isSkinned) 스키닝 메쉬 여부 설정
IsSkinnedMesh() 스키닝 여부 반환
Draw(deferredContext) 타입에 따라 메쉬/지형 등 드로우(LOD 고려)
DrawShadow(deferredContext) 그림자 맵 렌더 드로우(LOD 고려)
DrawInstanced(deferredContext,count) 인스턴스 드로우(구현부 외부)
DestroyProxy() 타입을 Expired로 표시 후 파괴 큐에 GUID 등록
InitializeLODs(thresholds) LOD 미존재 시 생성 요청(비스키닝)
SetLODEnabled(enable) LOD 활성화 설정
GetLODLevel(camera) 카메라 기반 LOD 레벨 계산/저장 후 반환

PrimitiveRenderProxy 공통 맴버변수

변수 설명
m_proxyType PrimitiveProxyType 열거(렌더러 종류)
m_worldPosition 월드 위치 벡터
m_worldMatrix 월드 변환 행렬
m_instancedID GUID(인스턴싱/식별 용)
m_isCulled 컬링 여부
m_isStatic 정적 객체 여부

MeshRenderer 관련 맴버변수

변수 설명
m_Material 머티리얼 포인터
m_Mesh 메쉬 포인터
m_animatorGuid 애니메이터 GUID
m_materialGuid 머티리얼 GUID
m_finalTransforms 스키닝 본 최종 행렬 배열 포인터
m_LightMapping 라이트맵 데이터
m_currLOD 현재 LOD 레벨
m_bitflag 렌더 모드 등 비트플래그
m_isEnableShadow/m_isShadowCast/m_isShadowRecive 그림자 옵션
m_isSkinnedMesh 스키닝 메쉬 여부
m_isAnimationEnabled 애니메이션 동작 여부
m_isInstanced 인스턴싱 렌더 여부
m_EnableLOD LOD 활성 여부

Terrain 관련 맴버변수

변수 설명
m_terrainMesh TerrainMesh shared_ptr
m_terrainMaterial TerrainMaterial 포인터
m_terrainGizmoBuffer 지형 편집 상수버퍼 데이터
m_terrainlayerBuffer 지형 레이어 상수버퍼 데이터

Foliage 관련 맴버변수

변수 설명
m_foliageInstances 폴리지 인스턴스 목록
m_foliageTypes 폴리지 타입 목록
instanceMap 타입별 인스턴스 포인터 매핑

Decal 관련 맴버변수

변수 설명
m_diffuseTexture 디퓨즈 텍스처
m_normalTexture 노말 텍스처
m_occluroughmetalTexture ORM(오클루전/러프니스/메탈릭) 텍스처
m_sliceX/m_sliceY 데칼 텍스처 그리드 분할 수
m_sliceNum 현재 슬라이스 인덱스

SpriteRenderer 관련 맴버변수

변수 설명
m_quadMesh 사각형 메쉬(shared_ptr)
m_spriteTexture 스프라이트 텍스처
m_customPSOName 커스텀 PSO 이름 문자열
m_customPSO 커스텀 ShaderPSO shared_ptr
m_billboardType BillboardType (None/Spherical/Cylindrical)
m_billboardAxis Cylindrical 빌보드 회전 축
m_enableDepth 깊이 테스트 사용 여부

내부 상태

변수 설명
m_isNeedUpdateCulling 컬링 재계산 필요 플래그

ProxyFilter 구조체 필드

필드 설명
animatorGuid 애니메이터 GUID
materialGuid 머티리얼 GUID
LODEnabled LOD 활성 여부
LODLevel 현재 LOD 레벨(필터링 기준)
bitflag 추가 상태 비트플래그

PrimitiveProxyType Enum

설명
MeshRenderer 일반 메쉬 렌더러
FoliageComponent 폴리지 렌더러
TerrainComponent 지형 렌더러
DecalComponent 데칼 렌더러
SpriteRenderer 스프라이트 렌더러
Expired 파괴/만료 상태

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally