-
Notifications
You must be signed in to change notification settings - Fork 1
MeshRendererProxy
29thnight edited this page Nov 28, 2025
·
1 revision
간단 설명: 다양한 렌더 컴포넌트를 공통 렌더 프록시(PrimitiveRenderProxy)로 표현하고, 애니메이터/머티리얼/LOD/비트플래그 조합을 필터(ProxyFilter)로 정렬에 활용.
| 메서드 명 | 메서드 설명 |
|---|---|
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 레벨 계산/저장 후 반환 |
| 변수 | 설명 |
|---|---|
m_proxyType |
PrimitiveProxyType 열거(렌더러 종류) |
m_worldPosition |
월드 위치 벡터 |
m_worldMatrix |
월드 변환 행렬 |
m_instancedID |
GUID(인스턴싱/식별 용) |
m_isCulled |
컬링 여부 |
m_isStatic |
정적 객체 여부 |
| 변수 | 설명 |
|---|---|
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 활성 여부 |
| 변수 | 설명 |
|---|---|
m_terrainMesh |
TerrainMesh shared_ptr |
m_terrainMaterial |
TerrainMaterial 포인터 |
m_terrainGizmoBuffer |
지형 편집 상수버퍼 데이터 |
m_terrainlayerBuffer |
지형 레이어 상수버퍼 데이터 |
| 변수 | 설명 |
|---|---|
m_foliageInstances |
폴리지 인스턴스 목록 |
m_foliageTypes |
폴리지 타입 목록 |
instanceMap |
타입별 인스턴스 포인터 매핑 |
| 변수 | 설명 |
|---|---|
m_diffuseTexture |
디퓨즈 텍스처 |
m_normalTexture |
노말 텍스처 |
m_occluroughmetalTexture |
ORM(오클루전/러프니스/메탈릭) 텍스처 |
m_sliceX/m_sliceY |
데칼 텍스처 그리드 분할 수 |
m_sliceNum |
현재 슬라이스 인덱스 |
| 변수 | 설명 |
|---|---|
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 |
컬링 재계산 필요 플래그 |
| 필드 | 설명 |
|---|---|
animatorGuid |
애니메이터 GUID |
materialGuid |
머티리얼 GUID |
LODEnabled |
LOD 활성 여부 |
LODLevel |
현재 LOD 레벨(필터링 기준) |
bitflag |
추가 상태 비트플래그 |
| 값 | 설명 |
|---|---|
MeshRenderer |
일반 메쉬 렌더러 |
FoliageComponent |
폴리지 렌더러 |
TerrainComponent |
지형 렌더러 |
DecalComponent |
데칼 렌더러 |
SpriteRenderer |
스프라이트 렌더러 |
Expired |
파괴/만료 상태 |
API Reference
Main
PhysicsSystem
RenderEngine
- Animation
- AnimationJob_Internal
- AnimatorData
- BillboardModuleGPU
- BillboardType
- Camera
- CullingManager
- DeviceState
- DeviceState_Deferred_Unsafe
- Foliage
- LightMapping
- MeshRendererProxy
- PipelineStateObject
- PrimitiveRenderProxy
- Projection_RenderPipelinePass
- ProxyCommand
- RenderGraphBuilder
- RenderModules
- RenderPassData
- RenderScene
- RenderScene_ComponentFlows
- Terrain_Foliage_LightMapping
- TerrainBuffers
ScriptBinder
- ActionMap
- AIManager
- AnchorPreset
- AniBehavior
- AnimationBehviourFatory
- AnimationController
- AnimationState
- Animator
- AniTransition
- ArticulationData
- ArticulationLoader
- AvatarMask
- BehaviorTreeComponent
- BillboardType
- BlackBoard
- BlackBoardType
- BlackBoardValue
- BoneMask
- BoxColliderComponent
- BTBuildGraph
- BTBuildNode
- BTEnum
- BTHeader
- CameraComponent
- Canvas
- CapsuleColliderComponent
- CharacterControllerComponent
- Component
- Component_Binding
- ComponentFactory
- ConditionParameter
- CSharpScriptComponent
- CurvePoint
- DecalComponent
- EBodyType
- EffectComponent
- EForceMode
- FoliageComponent
- FoliageInstance
- FoliageType
- FormIntPtr
- FSMState
- FunctionRegistry
- GameObject
- GameObject_Binding
- GameObjectType
- HotLoadSystem
- IAIComponent
- ImageComponent
- InputAction
- InputActionManager
- InputManager
- InvalidScriptComponent
- IObject
- IProjectSetting
- IRegistableEvent
- IRenderable
- IScriptedFSM
- ISerializable
- KeyArray
- KeyBitFlag
- KeyState
- LightComponent
- LightMapping
- LightProperty
- LinkData
- MeshColliderComponent
- MeshRenderer
- ModuleBehavior
- MonoBehaviorRecord
- MonoManager
- MSBuildHelper
- Navigation
- NodeFactory
- Object
- Object_Binding
- PhysicsManager
- PlayerInputComponent
- Prefab
- PrefabEditor
- PrefabUtility
- RagdollComponent
- RectTransform_Binding
- RectTransformComponent
- RegisterReflect
- RenderableComponents
- RigidBodyComponent
- Scene
- SceneManager
- ScriptStringModule
- SoundComponent
- SoundDefinition
- SoundManager
- SphereColliderComponent
- SpriteRenderer
- SpriteSheetComponent
- StateMachineComponent
- TagManager
- TerrainBuffers
- TerrainColliderComponent
- TerrainComponent
- TextComponent
- TransCondition
- Transform
- Transform_Binding
- Transition
- UIButton
- UIComponent
- UIManager
- VolumeComponent
Utility_Framework
- BaseTypeDef
- Benchmark
- BitFlag
- CircularQueue
- ClassProperty
- Core.Assert
- Core.Barrier
- Core.Coroutine
- Core.CountingSemaphore
- Core.Definition
- Core.Fence
- Core.FenceFlag
- Core.Mathf
- Core.Minimal
- Core.OctreeNode
- Core.Property
- Core.Random
- Core.Runtime
- Core.Thread
- Core.ThreadPool
- CoreWindow
- CSVLoader
- DebugStreamBuf
- Delegate
- DeviceResources
- DirectXHelper
- EngineBootstrap
- FileDialog
- FileIO
- GlobalImGuiContext
- HashingString
- HLSLCompiler
- LinkedListLib
- LogEntry
- LogSink
- LogSystem
- MemoryPool
- MetaAlias
- MetaStateCommand
- MetaUtility
- Octree
- PakHelper
- Paklib
- PathFinder
- QuadTree
- Reflection
- RingBuffer
- SimpleIniFile
- SpinLock
- StringHelper
- TimeSystem
- Trim
- TypeDefinition
- TypeIO
- TypeTrait
- WinProcProxy