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

Octree (Loose, thread-safe)

간단 설명: MeshRenderer 컬링용 느슨한 옥트리. 공유 포인터 노드/아이템, SRWLOCK으로 다중 리더/단일 라이터 동기화.

구성/설정

  • Octree(worldBounds, cfg): nodeCapacity/maxDepth/minHalfSize/looseFactor 포함 설정
  • 노드: OctreeNodetightBounds/bounds/children/items/depth

삽입/제거/갱신

  • Insert(id, mr, aabb), Remove(id), Update(id, newAabb)

컬링/레이캐스트

메서드 설명
Cull(frustum, outVisible) 프러스텀 컬링
Cull(area, outOverlaps) 박스 오버랩 조회
FrustumCullFrontToBack(eye, frustum, outVisible) 거리 정렬로 전면 우선 컬링
Raycast(ray, hits, maxDistance) 레이-박스/오브젝트 히트 검사

기타

  • Clear(), Bounds(), GetStats()
  • 내부 인덱스: IndexEntry{id,node,mr,rawPtr,box}, 포인터→ID 맵 유지
  • 유틸: 자식 경계 생성, 최소 반경 검사, 자식 인덱스/적합성 판정, 만료 아이템 정리

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally