Nebula
Loading...
Searching...
No Matches
framesubpass.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
12//------------------------------------------------------------------------------
13#include "frameop.h"
14#include "math/rectangle.h"
15namespace Frame
16{
17class FrameSubpass : public FrameOp
18{
19public:
23 virtual ~FrameSubpass();
24
26 void Discard() override;
27
29 void OnWindowResized() override;
30
35
37 {
38 void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override;
39 void Discard() override;
40
44
45#if NEBULA_GRAPHICS_DEBUG
47#endif
48 };
49
51
52protected:
53 friend class FramePass;
54 void Build(const BuildContext& ctx) override;
55
56private:
57 friend class FrameScriptLoader;
58};
59
60} // namespace Frame2
Definition frameop.h:32
Util::StringAtom name
Definition frameop.h:187
Definition framepass.h:22
Definition framescriptloader.h:22
Definition framesubpass.h:18
virtual ~FrameSubpass()
destructor
Definition framesubpass.cc:24
void Discard() override
discard operation
Definition framesubpass.cc:33
void OnWindowResized() override
handle display resizing
Definition framesubpass.cc:48
FrameOp::Compiled * AllocCompiled(Memory::ArenaAllocator< BIG_CHUNK > &allocator) override
allocate instance of compiled
Definition framesubpass.cc:88
void AddViewport(const Math::rectangle< int > &rect)
add viewport
FrameSubpass()
constructor
Definition framesubpass.cc:16
void Build(const BuildContext &ctx) override
build operation
Definition framesubpass.cc:105
void AddScissor(const Math::rectangle< int > &rect)
add viewport
A 2d rectangle class.
Definition rectangle.h:20
Allocates memory in chunks.
Definition arenaallocator.h:36
Nebula's dynamic array class.
Definition array.h:60
A StringAtom.
Definition stringatom.h:22
ImGUI debug interface for inspecting frame scripts.
Definition shaderserverbase.h:52
Definition commandbuffer.h:155
Definition frameop.h:162
Definition frameop.h:94
Definition framesubpass.h:37
Util::Array< Frame::FrameOp::Compiled * > ops
Definition framesubpass.h:41
void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override
Run operation on a specific command buffer.
Definition framesubpass.cc:62
void Discard() override
Discard operation.
Definition framesubpass.cc:78
Util::Array< Math::rectangle< int > > scissors
Definition framesubpass.h:43
Util::Array< Math::rectangle< int > > viewports
Definition framesubpass.h:42
int IndexT
Definition types.h:48