|
Nebula
|
#include <visibilitycontext.h>
Inherits Graphics::GraphicsContext.
Classes | |
| struct | VisibilityBatchCommand |
| struct | VisibilityDrawCommand |
| struct | VisibilityDrawList |
| struct | VisibilityModelCommand |
Public Types | |
| typedef Ids::Id32 | ModelAllocId |
Static Public Member Functions | |
| static void | Setup (const Graphics::GraphicsEntityId id, VisibilityEntityType entityType, bool isOrtho=false) |
| setup entity | |
| static void | MakeDependency (const Graphics::GraphicsEntityId a, const Graphics::GraphicsEntityId b, const DependencyMode mode) |
| setup a dependency between observers | |
| static void | RunVisibilityTests (const Graphics::FrameContext &ctx) |
| run visibility testing | |
| static void | GenerateDrawLists (const Graphics::FrameContext &ctx) |
| runs before frame is updated | |
| static void | Create () |
| create context | |
| static void | Discard () |
| discard context | |
| static VisibilitySystem * | CreateBoxSystem (const BoxSystemLoadInfo &info) |
| create a box system | |
| static VisibilitySystem * | CreatePortalSystem (const PortalSystemLoadInfo &info) |
| create a portal system | |
| static VisibilitySystem * | CreateOctreeSystem (const OctreeSystemLoadInfo &info) |
| create octree system | |
| static VisibilitySystem * | CreateQuadtreeSystem (const QuadtreeSystemLoadInfo &info) |
| create quadtree system | |
| static VisibilitySystem * | CreateBruteforceSystem (const BruteforceSystemLoadInfo &info) |
| create brute force system | |
| static void | WaitForVisibility (const Graphics::FrameContext &ctx) |
| wait for all visibility jobs | |
| static void | OnRenderDebug (uint32_t flags) |
| render debug | |
| static const VisibilityDrawList * | GetVisibilityDrawList (const Graphics::GraphicsEntityId id) |
| get visibility draw list | |
Static Public Attributes | |
| static Jobs::JobSyncId | jobInternalSync |
| static Jobs::JobSyncId | jobInternalSync2 |
| static Jobs::JobSyncId | jobInternalSync3 |
| static Jobs::JobSyncId | jobHostSync |
| static Util::Queue< Jobs::JobId > | runningJobs |
Private Types | |
| typedef Util::Array< Math::ClipStatus::Type > | VisibilityResultArray |
| typedef Ids::IdAllocator< Math::mat4, bool, Graphics::GraphicsEntityId, VisibilityEntityType, VisibilityResultArray, Graphics::GraphicsEntityId, DependencyMode, VisibilityDrawList, Memory::ArenaAllocator< 1024 > > | ObserverAllocator |
Private Member Functions | |
| __DeclareContext () | |
Static Private Member Functions | |
| static Graphics::ContextEntityId | Alloc () |
| allocate a new slice for this context | |
| static void | Dealloc (Graphics::ContextEntityId id) |
| deallocate a slice | |
Static Private Attributes | |
| static ObserverAllocator | observerAllocator |
| static Util::Array< VisibilitySystem * > | systems |
| keep as ordinary array of pointers, no need to have them cache aligned | |
Friends | |
| class | ObservableContext |
| struct | ObservableGlobalState |
Additional Inherited Members | |
Public Member Functions inherited from Graphics::GraphicsContext | |
| GraphicsContext () | |
| constructor | |
| virtual | ~GraphicsContext () |
| destructor | |
Static Protected Member Functions inherited from Graphics::GraphicsContext | |
| static void | InternalRegisterEntity (const Graphics::GraphicsEntityId id, Graphics::GraphicsContextState &&state) |
| static void | InternalDeregisterEntity (const Graphics::GraphicsEntityId id, Graphics::GraphicsContextState &&state) |
| template<class ID_ALLOCATOR> | |
| static void | InternalDefragment (ID_ALLOCATOR &allocator, Graphics::GraphicsContextState &&state) |
| private |
|
private |
|
private |
|
staticprivate |
allocate a new slice for this context
|
static |
create context
|
static |
create a box system
|
static |
create brute force system
|
static |
create octree system
|
static |
create a portal system
|
static |
create quadtree system
|
staticprivate |
deallocate a slice
|
static |
discard context
|
static |
runs before frame is updated
|
static |
get visibility draw list
|
static |
setup a dependency between observers
|
static |
render debug
|
static |
run visibility testing
|
static |
setup entity
|
static |
wait for all visibility jobs
|
friend |
|
friend |
|
static |
|
static |
|
static |
|
static |
|
staticprivate |
|
static |
|
staticprivate |
keep as ordinary array of pointers, no need to have them cache aligned