Nebula
Loading...
Searching...
No Matches
Frame Namespace Reference

Detailed Description

ImGUI debug interface for inspecting frame scripts.

Adds a light representation to the graphics entity.

Include file for frame scripts.

Executes RT plugins within a subpass.

A subpass sorted batch renders the same geometry as the ordinary batch, however it prioritizes Z-order instead shader, making it potentially detrimental for performance.

Performs a full screen draw.

A subpass batch performs batch rendering of geometry.

A subpass is a subset of attachments declared by pass, and if depth should be used.

Handles frame submissions start and end.

Runs a programmatically constructed subgraph.

The frame server is responsible for keeping track of frame scripts, thus you can consider the frame server to be the owner of all frame scripts.

Loads a frame shader from JSON file.

Resolve pass.

Runs a plugin, which is a code-callback.

A frame op is a base class for frame operations, use as base class for runnable sequences within a frame script.

Updates mip chain for texture.

A frame event is a wait-signal-reset type event which can be used to wait for executions within a frame script.

Performs an image copy without any filtering or image conversion.

Executes compute shader.

Runs code from frame operation created in code.

A frame blit performs an image copy with optional filtering and image type conversions.

This is just a container.

Volumetric fog implements a ray marching technique through the scene from the point of view from the camera.

There are two types of fog, atmospheric fog which is persistent and controlled through global parameters, and local fog volumes which are individually configurable.

(C) 2016-2018 Individual contributors, see AUTHORS file

It's also responsible for notifying frame scripts of events, such as window resizing.

Subpasses can be dependent on each other, and can declare which attachments in the pass should be passed between them.

Classes

class  FrameBarrier
 
class  FrameBatchType
 Frame batch type hints for the render device and render targets. More...
 
class  FrameBlit
 
class  FrameCode
 
class  FrameCompute
 
class  FrameCopy
 
class  FrameEvent
 
class  FrameMipmap
 
class  FrameOp
 
class  FramePass
 
class  FramePlugin
 
class  FrameResolve
 
class  FrameScript
 A FrameScript describes render operations being done to produce a single frame. More...
 
class  FrameScriptLoader
 
class  FrameServer
 
class  FrameSubgraph
 
class  FrameSubmission
 
class  FrameSubpass
 
class  FrameSubpassBatch
 
class  FrameSubpassFullscreenEffect
 
class  FrameSubpassOrderedBatch
 
class  FrameSubpassPlugin
 
class  FrameSwap
 
struct  TextureExport
 
struct  TextureImport
 

Enumerations

enum class  DependencyIntent { Read , Write }
 

Functions

const std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> & GetCallback (const Util::StringAtom &str)
 get algorithm function call
 
void AddCallback (const Util::StringAtom name, std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> func)
 add function callback to global dictionary
 
void InitPluginTable ()
 initialize the plugin table
 
 __ImplementClass (Frame::FrameScript, 'FRSC', Core::RefCounted)
 
 __ImplementClass (Frame::FrameServer, 'FRSR', Core::RefCounted)
 
 __ImplementSingleton (Frame::FrameServer)
 
void AddSubgraph (const Util::StringAtom name, const Util::Array< FrameOp * > ops)
 Add a subgraph by name for the framescript.
 
const Util::Array< FrameOp * > GetSubgraph (const Util::StringAtom name)
 Get subgraph by name.
 
void DrawBatch (const CoreGraphics::CmdBufferId cmdBuf, MaterialTemplates::BatchGroup batch, const Graphics::GraphicsEntityId id, const IndexT bufferIndex)
 Draw.
 
void DrawBatch (const CoreGraphics::CmdBufferId cmdBuf, MaterialTemplates::BatchGroup batch, const Graphics::GraphicsEntityId id, const SizeT numInstances, const IndexT baseInstance, const IndexT bufferIndex)
 Draw instanced.
 

Variables

Util::Dictionary< Util::StringAtom, std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> > nameToFunction
 
Util::Dictionary< Util::StringAtom, Util::Array< FrameOp * > > nameToSubgraph
 

Enumeration Type Documentation

◆ DependencyIntent

enum class Frame::DependencyIntent
strong
Enumerator
Read 
Write 

Function Documentation

◆ __ImplementClass() [1/2]

Frame::__ImplementClass ( Frame::FrameScript ,
'FRSC' ,
Core::RefCounted  )

◆ __ImplementClass() [2/2]

Frame::__ImplementClass ( Frame::FrameServer ,
'FRSR' ,
Core::RefCounted  )

◆ __ImplementSingleton()

Frame::__ImplementSingleton ( Frame::FrameServer )

◆ AddCallback()

void Frame::AddCallback ( const Util::StringAtom name,
std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> func )

add function callback to global dictionary

◆ AddSubgraph()

void Frame::AddSubgraph ( const Util::StringAtom name,
const Util::Array< FrameOp * > ops )

Add a subgraph by name for the framescript.

◆ DrawBatch() [1/2]

void Frame::DrawBatch ( const CoreGraphics::CmdBufferId cmdBuf,
MaterialTemplates::BatchGroup batch,
const Graphics::GraphicsEntityId id,
const IndexT bufferIndex )

Draw.

◆ DrawBatch() [2/2]

void Frame::DrawBatch ( const CoreGraphics::CmdBufferId cmdBuf,
MaterialTemplates::BatchGroup batch,
const Graphics::GraphicsEntityId id,
const SizeT numInstances,
const IndexT baseInstance,
const IndexT bufferIndex )

Draw instanced.

◆ GetCallback()

const std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> & Frame::GetCallback ( const Util::StringAtom & str)

get algorithm function call

◆ GetSubgraph()

const Util::Array< FrameOp * > Frame::GetSubgraph ( const Util::StringAtom name)

Get subgraph by name.

◆ InitPluginTable()

void Frame::InitPluginTable ( )

initialize the plugin table

Variable Documentation

◆ nameToFunction

Util::Dictionary< Util::StringAtom, std::function< void(const CoreGraphics::CmdBufferId, IndexT, IndexT)> > Frame::nameToFunction

◆ nameToSubgraph

Util::Dictionary< Util::StringAtom, Util::Array< FrameOp * > > Frame::nameToSubgraph