Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
framesubpassplugin.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include "
frameop.h
"
11
12
namespace
Frame
13
{
14
class
FrameSubpassPlugin
:
public
FrameOp
15
{
16
public
:
18
FrameSubpassPlugin
();
20
virtual
~FrameSubpassPlugin
();
21
23
void
Setup
();
25
void
Discard
();
26
27
struct
CompiledImpl
:
public
FrameOp::Compiled
28
{
29
void
Run
(
const
CoreGraphics::CmdBufferId
cmdBuf,
const
IndexT
frameIndex,
const
IndexT
bufferIndex)
override
;
30
31
std::function<void(
const
CoreGraphics::CmdBufferId
cmdBuf,
IndexT
,
IndexT
)>
func
;
32
};
33
34
FrameOp::Compiled
*
AllocCompiled
(
Memory::ArenaAllocator<BIG_CHUNK>
& allocator);
35
std::function<void(
const
CoreGraphics::CmdBufferId
cmdBuf,
IndexT
,
IndexT
)>
func
;
36
37
private
:
38
40
void
Build
(
41
Memory::ArenaAllocator<BIG_CHUNK>
& allocator,
42
Util::Array<FrameOp::Compiled*>
& compiledOps,
43
Util::Array<CoreGraphics::EventId>
& events,
44
Util::Array<CoreGraphics::BarrierId>
& barriers,
45
Util::Dictionary
<
CoreGraphics::BufferId
,
Util::Array<BufferDependency>
>& rwBuffers,
46
Util::Dictionary
<
CoreGraphics::TextureId
,
Util::Array<TextureDependency>
>& textures
47
);
48
49
};
50
51
}
// namespace Frame2
Frame::FrameOp::FrameOp
FrameOp()
constructor
Definition
frameop.cc:15
Frame::FrameSubpassPlugin::Build
void Build(Memory::ArenaAllocator< BIG_CHUNK > &allocator, Util::Array< FrameOp::Compiled * > &compiledOps, Util::Array< CoreGraphics::EventId > &events, Util::Array< CoreGraphics::BarrierId > &barriers, Util::Dictionary< CoreGraphics::BufferId, Util::Array< BufferDependency > > &rwBuffers, Util::Dictionary< CoreGraphics::TextureId, Util::Array< TextureDependency > > &textures)
build operation
Definition
framesubpassplugin.cc:64
Frame::FrameSubpassPlugin::Setup
void Setup()
setup plugin pass
Definition
framesubpassplugin.cc:33
Frame::FrameSubpassPlugin::FrameSubpassPlugin
FrameSubpassPlugin()
constructor
Definition
framesubpassplugin.cc:16
Frame::FrameSubpassPlugin::func
std::function< void(const CoreGraphics::CmdBufferId cmdBuf, IndexT, IndexT)> func
Definition
framesubpassplugin.h:35
Frame::FrameSubpassPlugin::~FrameSubpassPlugin
virtual ~FrameSubpassPlugin()
destructor
Definition
framesubpassplugin.cc:24
Frame::FrameSubpassPlugin::AllocCompiled
FrameOp::Compiled * AllocCompiled(Memory::ArenaAllocator< BIG_CHUNK > &allocator)
allocate instance of compiled
Definition
framesubpassplugin.cc:53
Frame::FrameSubpassPlugin::Discard
void Discard()
discard operation
Definition
framesubpassplugin.cc:42
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
frameop.h
Frame
ImGUI debug interface for inspecting frame scripts.
Definition
shaderserverbase.h:52
CoreGraphics::BufferId
Definition
buffer.h:23
CoreGraphics::CmdBufferId
Definition
commandbuffer.h:176
CoreGraphics::TextureId
texture type
Definition
texture.h:25
Frame::FrameOp::Compiled
Definition
frameop.h:94
Frame::FrameSubpassPlugin::CompiledImpl
Definition
framesubpassplugin.h:28
Frame::FrameSubpassPlugin::CompiledImpl::func
std::function< void(const CoreGraphics::CmdBufferId cmdBuf, IndexT, IndexT)> func
Definition
framesubpassplugin.h:31
Frame::FrameSubpassPlugin::CompiledImpl::Run
void Run(const CoreGraphics::CmdBufferId cmdBuf, const IndexT frameIndex, const IndexT bufferIndex) override
Run operation on a specific command buffer.
Definition
framesubpassplugin.cc:96
IndexT
int IndexT
Definition
types.h:41
code
render
frame
framesubpassplugin.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.