-
Notifications
You must be signed in to change notification settings - Fork 1
PrimitiveRenderProxy
29thnight edited this page Nov 28, 2025
·
1 revision
간단 설명: 다양한 렌더러 컴포넌트(Mesh/Terrain/Foliage/Decal/Sprite)를 단일 렌더링 프록시로 추상화. LOD, 스키닝, 그림자, 머티리얼/애니메이터 GUID 등 상태 보관.
| 메서드 명 | 메서드 설명 |
|---|---|
PrimitiveRenderProxy(<Component*>) |
컴포넌트별 생성자(메쉬, 폴리지, 지형, 데칼, 스프라이트) |
~PrimitiveRenderProxy() |
소멸자(리소스 직접 해제 없음) |
IsNeedUpdateCulling() |
컬링 재계산 필요 여부 반환 |
SetNeedUpdateCulling(flag) |
컬링 재계산 플래그 설정 |
SetSkinnedMesh(isSkinned) |
스키닝 메쉬 여부 지정 |
IsSkinnedMesh() |
스키닝 여부 반환 |
Draw(deferredContext) |
타입에 따라 드로우 수행(LOD 포함) |
DrawShadow(deferredContext) |
그림자 드로우(LOD 포함 조건 검사) |
DrawInstanced(deferredContext, count) |
인스턴스 드로우(구현부 별도) |
DestroyProxy() |
프록시 만료 처리 후 파괴 큐에 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 |
텍스처 그리드 X 슬라이스 수 |
m_sliceY |
텍스처 그리드 Y 슬라이스 수 |
m_sliceNum |
현재 슬라이스 인덱스 |
| 변수 | 설명 |
|---|---|
m_quadMesh |
사각형 메쉬 |
m_spriteTexture |
스프라이트 텍스처 |
m_customPSOName |
커스텀 PSO 이름 문자열 |
m_customPSO |
커스텀 ShaderPSO shared_ptr |
m_billboardType |
BillboardType (None/Spherical/Cylindrical) |
m_billboardAxis |
Cylindrical 축 벡터 |
m_enableDepth |
깊이 사용 여부 |
| 변수 | 설명 |
|---|---|
m_isNeedUpdateCulling |
컬링 업데이트 필요 플래그 |
| 열거값 | 설명 |
|---|---|
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