Aeon Engine c550894
AeonGames Open Source Game Engine
Loading...
Searching...
No Matches
AeonGames::Pipeline Class Reference

Rendering pipeline resource. More...

#include <aeongames/Pipeline.hpp>

Inheritance diagram for AeonGames::Pipeline:
Inheritance graph
Collaboration diagram for AeonGames::Pipeline:
Collaboration graph

Public Member Functions

DLL Pipeline ()
 Default constructor.
virtual DLL ~Pipeline ()
 Virtual destructor.
DLL void LoadFromMemory (const void *aBuffer, size_t aBufferSize) final
 Load pipeline data from a memory buffer.
DLL void Unload () final
 Release all pipeline resources.
DLL uint32_t GetTopologyClass () const
 Get the topology class bitmask for this pipeline.
DLL const std::string_view GetShaderCode (ShaderType aType) const
 Get the shader source code for the given shader stage.
DLL void LoadFromPBMsg (const PipelineMsg &aPipelineMsg)
 Load pipeline configuration from a protobuf message.
Public Member Functions inherited from AeonGames::Resource
virtual ~Resource ()
 Virtual destructor.
DLL void LoadFromId (uint32_t aId)
 Load the resource identified by a numeric id.
DLL void LoadFromFile (const std::string &aFilename)
 Load the resource from a file on disk.
DLL size_t GetConsecutiveId () const
 Get the Consecutive Id for the resource object.

Static Public Attributes

static const uint32_t TOPOLOGY_CLASS_POINT {1}
 Point topology class bitmask.
static const uint32_t TOPOLOGY_CLASS_LINE {2}
 Line topology class bitmask.
static const uint32_t TOPOLOGY_CLASS_TRIANGLE {4}
 Triangle topology class bitmask.
static const uint32_t TOPOLOGY_CLASS_PATCH {8}
 Patch topology class bitmask.

Detailed Description

Rendering pipeline resource.

Manages shader code and topology classification for a rendering pipeline.

Definition at line 121 of file Pipeline.hpp.

Member Function Documentation

◆ GetShaderCode()

const std::string_view AeonGames::Pipeline::GetShaderCode ( ShaderType aType) const

Get the shader source code for the given shader stage.

Parameters
aTypeThe shader stage to retrieve code for.
Returns
String view of the shader source code.

Definition at line 204 of file Pipeline.cpp.

◆ GetTopologyClass()

uint32_t AeonGames::Pipeline::GetTopologyClass ( ) const

Get the topology class bitmask for this pipeline.

Returns
Bitmask indicating the topology class.

Definition at line 63 of file Pipeline.cpp.

◆ LoadFromMemory()

void AeonGames::Pipeline::LoadFromMemory ( const void * aBuffer,
size_t aBufferSize )
finalvirtual

Load pipeline data from a memory buffer.

Parameters
aBufferPointer to the buffer containing pipeline data.
aBufferSizeSize of the buffer in bytes.

Implements AeonGames::Resource.

Definition at line 209 of file Pipeline.cpp.

◆ LoadFromPBMsg()

void AeonGames::Pipeline::LoadFromPBMsg ( const PipelineMsg & aPipelineMsg)

Load pipeline configuration from a protobuf message.

Parameters
aPipelineMsgThe protobuf message to load from.

Definition at line 214 of file Pipeline.cpp.

◆ Unload()

void AeonGames::Pipeline::Unload ( )
finalvirtual

Release all pipeline resources.

Implements AeonGames::Resource.

Definition at line 233 of file Pipeline.cpp.

Member Data Documentation

◆ TOPOLOGY_CLASS_LINE

const uint32_t AeonGames::Pipeline::TOPOLOGY_CLASS_LINE {2}
static

Line topology class bitmask.

Definition at line 125 of file Pipeline.hpp.

◆ TOPOLOGY_CLASS_PATCH

const uint32_t AeonGames::Pipeline::TOPOLOGY_CLASS_PATCH {8}
static

Patch topology class bitmask.

Definition at line 127 of file Pipeline.hpp.

◆ TOPOLOGY_CLASS_POINT

const uint32_t AeonGames::Pipeline::TOPOLOGY_CLASS_POINT {1}
static

Point topology class bitmask.

Definition at line 124 of file Pipeline.hpp.

◆ TOPOLOGY_CLASS_TRIANGLE

const uint32_t AeonGames::Pipeline::TOPOLOGY_CLASS_TRIANGLE {4}
static

Triangle topology class bitmask.

Definition at line 126 of file Pipeline.hpp.


The documentation for this class was generated from the following files: