Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
framesubgraph.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include "
frameop.h
"
11
#include "
util/stringatom.h
"
12
namespace
Frame
13
{
14
class
FrameSubgraph
:
public
FrameOp
15
{
16
public
:
18
FrameSubgraph
();
20
virtual
~FrameSubgraph
();
21
23
void
OnWindowResized
()
override
;
24
25
struct
CompiledImpl
:
public
FrameOp::Compiled
26
{
27
void
Run
(
const
CoreGraphics::CmdBufferId
cmdBuf,
const
IndexT
frameIndex,
const
IndexT
bufferIndex)
override
;
28
void
Discard
()
override
;
29
30
#if NEBULA_GRAPHICS_DEBUG
31
Util::StringAtom
name
;
32
#endif
33
Util::Array<FrameOp::Compiled*>
subgraphOps
;
34
};
35
36
FrameOp::Compiled
*
AllocCompiled
(
Memory::ArenaAllocator<BIG_CHUNK>
& allocator)
override
;
37
38
private
:
39
40
void
Build
(
const
BuildContext
& ctx)
override
;
41
};
42
44
extern
void
AddSubgraph
(
const
Util::StringAtom
name,
const
Util::Array<FrameOp*>
ops);
46
const
Util::Array<FrameOp*>
GetSubgraph
(
const
Util::StringAtom
name);
47
48
extern
Util::Dictionary<Util::StringAtom, Util::Array<FrameOp*>
>
nameToSubgraph
;
49
50
}
// namespace Frame2
Frame::FrameOp::name
Util::StringAtom name
Definition
frameop.h:187
Frame::FrameOp::FrameOp
FrameOp()
constructor
Definition
frameop.cc:15
Frame::FrameSubgraph::Build
void Build(const BuildContext &ctx) override
build operation
Definition
framesubgraph.cc:82
Frame::FrameSubgraph::~FrameSubgraph
virtual ~FrameSubgraph()
destructor
Definition
framesubgraph.cc:20
Frame::FrameSubgraph::FrameSubgraph
FrameSubgraph()
constructor
Definition
framesubgraph.cc:13
Frame::FrameSubgraph::OnWindowResized
void OnWindowResized() override
Handle display resizing.
Definition
framesubgraph.cc:28
Frame::FrameSubgraph::AllocCompiled
FrameOp::Compiled * AllocCompiled(Memory::ArenaAllocator< BIG_CHUNK > &allocator) override
allocate instance of compiled
Definition
framesubgraph.cc:68
Memory::ArenaAllocator
Allocates memory in chunks.
Definition
arenaallocator.h:36
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::Dictionary
A collection of key/value pairs with quick value retrieval by key at roughly O(log n).
Definition
dictionary.h:35
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
frameop.h
Frame
ImGUI debug interface for inspecting frame scripts.
Definition
shaderserverbase.h:52
Frame::nameToSubgraph
Util::Dictionary< Util::StringAtom, Util::Array< FrameOp * > > nameToSubgraph
Definition
framesubgraph.cc:9
Frame::GetSubgraph
const Util::Array< FrameOp * > GetSubgraph(const Util::StringAtom name)
Get subgraph by name.
Definition
framesubgraph.cc:129
Frame::AddSubgraph
void AddSubgraph(const Util::StringAtom name, const Util::Array< FrameOp * > ops)
Add a subgraph by name for the framescript.
Definition
framesubgraph.cc:119
stringatom.h
CoreGraphics::CmdBufferId
Definition
commandbuffer.h:176
Frame::FrameOp::BuildContext
Definition
frameop.h:162
Frame::FrameOp::Compiled
Definition
frameop.h:94
Frame::FrameSubgraph::CompiledImpl
Definition
framesubgraph.h:26
Frame::FrameSubgraph::CompiledImpl::subgraphOps
Util::Array< FrameOp::Compiled * > subgraphOps
Definition
framesubgraph.h:33
Frame::FrameSubgraph::CompiledImpl::Discard
void Discard() override
Discard operation.
Definition
framesubgraph.cc:55
Frame::FrameSubgraph::CompiledImpl::Run
void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override
Run operation on a specific command buffer.
Definition
framesubgraph.cc:40
IndexT
int IndexT
Definition
types.h:41
code
render
frame
framesubgraph.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.