Nebula
Toggle main menu visibility
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
"
15
namespace
Frame
16
{
17
class
FrameSubpass
:
public
FrameOp
18
{
19
public
:
21
FrameSubpass
();
23
virtual
~FrameSubpass
();
24
26
void
Discard
()
override
;
27
29
void
OnWindowResized
()
override
;
30
32
void
AddViewport
(
const
Math::rectangle<int>
& rect);
34
void
AddScissor
(
const
Math::rectangle<int>
& rect);
35
36
struct
CompiledImpl
:
public
FrameOp::Compiled
37
{
38
void
Run
(
const
CoreGraphics::CmdBufferId
cmdBuf,
const
IndexT
frameIndex,
const
IndexT
bufferIndex)
override
;
39
void
Discard
()
override
;
40
41
Util::Array<Frame::FrameOp::Compiled*>
ops
;
42
Util::Array<Math::rectangle<int>
>
viewports
;
43
Util::Array<Math::rectangle<int>
>
scissors
;
44
45
#if NEBULA_GRAPHICS_DEBUG
46
Util::StringAtom
name
;
47
#endif
48
};
49
50
FrameOp::Compiled
*
AllocCompiled
(
Memory::ArenaAllocator<BIG_CHUNK>
& allocator)
override
;
51
52
protected
:
53
friend
class
FramePass
;
54
void
Build
(
const
BuildContext
& ctx)
override
;
55
56
private
:
57
friend
class
FrameScriptLoader
;
58
};
59
60
}
// namespace Frame2
Frame::FrameOp::name
Util::StringAtom name
Definition
frameop.h:187
Frame::FrameOp::FrameOp
FrameOp()
constructor
Definition
frameop.cc:15
Frame::FrameSubpass::~FrameSubpass
virtual ~FrameSubpass()
destructor
Definition
framesubpass.cc:24
Frame::FrameSubpass::Discard
void Discard() override
discard operation
Definition
framesubpass.cc:33
Frame::FrameSubpass::OnWindowResized
void OnWindowResized() override
handle display resizing
Definition
framesubpass.cc:48
Frame::FrameSubpass::AllocCompiled
FrameOp::Compiled * AllocCompiled(Memory::ArenaAllocator< BIG_CHUNK > &allocator) override
allocate instance of compiled
Definition
framesubpass.cc:88
Frame::FrameSubpass::FrameScriptLoader
friend class FrameScriptLoader
Definition
framesubpass.h:57
Frame::FrameSubpass::AddViewport
void AddViewport(const Math::rectangle< int > &rect)
add viewport
Frame::FrameSubpass::FrameSubpass
FrameSubpass()
constructor
Definition
framesubpass.cc:16
Frame::FrameSubpass::Build
void Build(const BuildContext &ctx) override
build operation
Definition
framesubpass.cc:105
Frame::FrameSubpass::FramePass
friend class FramePass
Definition
framesubpass.h:53
Frame::FrameSubpass::AddScissor
void AddScissor(const Math::rectangle< int > &rect)
add viewport
Math::rectangle
A 2d rectangle class.
Definition
rectangle.h:20
Memory::ArenaAllocator
Allocates memory in chunks.
Definition
arenaallocator.h:36
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
frameop.h
Frame
ImGUI debug interface for inspecting frame scripts.
Definition
shaderserverbase.h:52
rectangle.h
CoreGraphics::CmdBufferId
Definition
commandbuffer.h:176
Frame::FrameOp::BuildContext
Definition
frameop.h:162
Frame::FrameOp::Compiled
Definition
frameop.h:94
Frame::FrameSubpass::CompiledImpl
Definition
framesubpass.h:37
Frame::FrameSubpass::CompiledImpl::ops
Util::Array< Frame::FrameOp::Compiled * > ops
Definition
framesubpass.h:41
Frame::FrameSubpass::CompiledImpl::Run
void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override
Run operation on a specific command buffer.
Definition
framesubpass.cc:62
Frame::FrameSubpass::CompiledImpl::Discard
void Discard() override
Discard operation.
Definition
framesubpass.cc:78
Frame::FrameSubpass::CompiledImpl::scissors
Util::Array< Math::rectangle< int > > scissors
Definition
framesubpass.h:43
Frame::FrameSubpass::CompiledImpl::viewports
Util::Array< Math::rectangle< int > > viewports
Definition
framesubpass.h:42
IndexT
int IndexT
Definition
types.h:41
code
render
frame
framesubpass.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.