Nebula
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"
12namespace Frame
13{
14class FrameSubgraph : public FrameOp
15{
16public:
20 virtual ~FrameSubgraph();
21
23 void OnWindowResized() override;
24
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
32#endif
34 };
35
37
38private:
39
40 void Build(const BuildContext& ctx) override;
41};
42
44extern void AddSubgraph(const Util::StringAtom name, const Util::Array<FrameOp*> ops);
47
49
50} // namespace Frame2
Definition frameop.h:32
Util::StringAtom name
Definition frameop.h:187
Definition framesubgraph.h:15
void Build(const BuildContext &ctx) override
build operation
Definition framesubgraph.cc:82
virtual ~FrameSubgraph()
destructor
Definition framesubgraph.cc:20
FrameSubgraph()
constructor
Definition framesubgraph.cc:13
void OnWindowResized() override
Handle display resizing.
Definition framesubgraph.cc:28
FrameOp::Compiled * AllocCompiled(Memory::ArenaAllocator< BIG_CHUNK > &allocator) override
allocate instance of compiled
Definition framesubgraph.cc:68
Allocates memory in chunks.
Definition arenaallocator.h:36
Nebula's dynamic array class.
Definition array.h:60
A collection of key/value pairs with quick value retrieval by key at roughly O(log n).
Definition dictionary.h:34
A StringAtom.
Definition stringatom.h:22
ImGUI debug interface for inspecting frame scripts.
Definition shaderserverbase.h:52
Util::Dictionary< Util::StringAtom, Util::Array< FrameOp * > > nameToSubgraph
Definition framesubgraph.cc:9
const Util::Array< FrameOp * > GetSubgraph(const Util::StringAtom name)
Get subgraph by name.
Definition framesubgraph.cc:129
void AddSubgraph(const Util::StringAtom name, const Util::Array< FrameOp * > ops)
Add a subgraph by name for the framescript.
Definition framesubgraph.cc:119
Definition commandbuffer.h:148
Definition frameop.h:162
Definition frameop.h:94
Definition framesubgraph.h:26
Util::Array< FrameOp::Compiled * > subgraphOps
Definition framesubgraph.h:33
void Discard() override
Discard operation.
Definition framesubgraph.cc:55
void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override
Run operation on a specific command buffer.
Definition framesubgraph.cc:40
int IndexT
Definition types.h:48