-
Notifications
You must be signed in to change notification settings - Fork 1
RenderModules
29thnight edited this page Nov 28, 2025
·
1 revision
간단 설명: 파티클 및 특수효과 모듈 베이스 클래스. PSO/텍스처/클리핑/렌더 상태 프리셋/커스텀 Desc 관리.
| 메서드 명 | 메서드 설명 |
|---|---|
~RenderModules() |
소멸자: Release 호출 |
Initialize() |
초기화(파생 클래스 오버라이드) |
Render(world,view,projection) |
렌더링 실행(파생 구현) |
Release() |
GPU 리소스 해제 |
BindResource() |
필요한 리소스 바인딩 |
SetupRenderTarget(renderData) |
렌더타겟 준비 |
ResetForReuse() |
재사용 상태 초기화 |
IsReadyForReuse() |
재사용 가능 여부 검사 |
WaitForGPUCompletion() |
GPU 작업 완료 대기 |
SetEnabled(enabled) |
모듈 활성/비활성 설정 |
IsEnabled() |
활성 상태 반환 |
SetParticleData(particleSRV, count) |
파티클 데이터 설정(순수 가상) |
movePSO(pso) |
내부 PSO 교체(move) |
CleanupRenderState() |
현재 렌더 상태 클린업(저장된 prev 복원) |
SaveRenderState() |
현재 상태 저장 |
RestoreRenderState() |
저장된 상태 복구 |
SupportsClipping() |
클리핑 지원 여부(기본 false) |
EnableClipping(enable) |
클리핑 활성화 설정 |
SetClippingProgress(progress) |
클리핑 진행도 설정 |
SetClippingAxis(axis) |
클리핑 기준 축 설정 |
IsClippingEnabled() |
클리핑 사용 여부 반환 |
SetEffectProgress(progress) |
이펙트 진행도 값 설정(사용 플래그 on) |
SetUseEffectProgress(use) |
진행도 사용 여부 설정 |
SetOwnerSystem(owner) |
소유 파티클 시스템 지정 |
GetOwnerSystem() |
소유 시스템 반환 |
HasOwnerSystem() |
소유 시스템 존재 여부 |
IsSystemRunning() |
시스템 실행 여부 검사 |
SetVertexShader(name) |
VS 이름 설정 및 셰이더 변경 처리 |
SetPixelShader(name) |
PS 이름 설정 |
SetShaders(vs, ps) |
VS/PS 동시 설정 |
GetAvailableVertexShaders() |
사용 가능한 VS 목록 |
GetAvailablePixelShaders() |
사용 가능한 PS 목록 |
SetBlendPreset(preset) |
블렌드 프리셋 적용/상태 생성 |
SetCustomBlendState(desc) |
커스텀 블렌드 Desc 적용 |
SetDepthPreset(preset) |
깊이 프리셋 적용 |
SetCustomDepthStencilState(desc) |
커스텀 깊이스텐실 Desc 적용 |
SetRasterizerPreset(preset) |
래스터 프리셋 적용 |
SetCustomRasterizerState(desc) |
커스텀 래스터 Desc 적용 |
SerializeRenderStates() |
렌더 상태 JSON 직렬화 |
DeserializeRenderStates(json) |
렌더 상태 역직렬화 |
UpdatePSOShaders() |
셰이더 변경에 따른 PSO 갱신 |
UpdatePSORenderStates() |
렌더 상태 변경 시 PSO 갱신 |
OnShadersChanged() |
셰이더 변경 후 후처리(가상) |
OnRenderStatesChanged() |
렌더 상태 변경 후 후처리(가상) |
SetTexture(slot, texture) |
지정 슬롯 텍스처 설정 |
SetTexture(texture) |
슬롯 0 텍스처 설정 단축 |
AddTexture(texture) |
텍스처 목록에 추가 |
RemoveTexture(slot) |
슬롯 텍스처 제거 |
ClearTextures() |
모든 텍스처 해제 |
GetTexture(slot) |
슬롯 텍스처 가져오기 |
GetTextureCount() |
텍스처 개수 반환 |
EnsureTextureSlots(count) |
슬롯 수 확보(리사이즈) |
SerializeTextures() |
텍스처 목록 JSON 직렬화 |
DeserializeTextures(json) |
텍스처 목록 역직렬화 |
BindTextures() |
텍스처 셰이더 바인딩 |
| 이름 | 설명 |
|---|---|
m_textures |
텍스처 포인터 목록 |
m_enabled |
모듈 활성 플래그 |
m_isRendering |
렌더 중 상태 |
m_gpuWorkPending |
GPU 작업 대기 중 원자 플래그 |
m_ownerSystem |
소유 파티클 시스템 포인터 |
m_assignedTexture |
단일 지정 텍스처(주 슬롯) |
m_dissolveTexture |
디졸브 효과용 텍스처 |
m_pso |
PipelineStateObject unique_ptr |
m_vertexShaderName |
VS 셰이더 이름 |
m_pixelShaderName |
PS 셰이더 이름 |
m_blendPreset |
블렌드 프리셋 |
m_depthPreset |
깊이 프리셋 |
m_rasterizerPreset |
래스터 프리셋 |
m_customBlendDesc |
커스텀 블렌드 Desc |
m_customDepthDesc |
커스텀 깊이스텐실 Desc |
m_customRasterizerDesc |
커스텀 래스터 Desc |
m_clippingParams |
PolarClippingParams 구조체(진행도/중심/축 등) |
m_clippingEnabled |
클리핑 활성 여부 |
m_effectProgress |
이펙트 진행도 값 |
m_useEffectProgress |
진행도 사용 플래그 |
| prev 상태 저장 변수들 | 이전 렌더 상태 스냅샷(Depth/Blend/Rasterizer 등) |
| 값 | 설명 |
|---|---|
None |
블렌딩 비활성 |
Alpha |
알파 블렌딩 |
Additive |
가산 합성 |
Multiply |
곱 연산 |
Subtractive |
감산 연산 |
Custom |
사용자 정의 Desc 적용 |
| 값 | 설명 |
|---|---|
None |
깊이 상태 미사용 |
Default |
기본(Read+Write, LESS) |
ReadOnly |
읽기만 허용 |
WriteOnly |
쓰기만 허용 |
Disabled |
깊이 테스트 비활성 |
Custom |
사용자 정의 Desc |
| 값 | 설명 |
|---|---|
None |
기본 상태 미사용 |
Default |
SOLID + BACK Culling |
NoCull |
SOLID + Culling 없음 |
Wireframe |
WIREFRAME + BACK Culling |
WireframeNoCull |
WIREFRAME + Culling 없음 |
Custom |
사용자 정의 Desc |
| 필드 | 설명 |
|---|---|
polarClippingEnabled |
폴라 클리핑 활성 플래그 |
polarAngleProgress |
진행도(0~1) |
polarStartAngle |
시작 각도 |
polarDirection |
진행 방향(1/-1) |
polarCenter |
중심 위치 벡터 |
polarUpAxis |
업 축 벡터 |
polarReferenceDir |
기준 방향 벡터 |
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