Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
DefaultPipeline::Resource::MaterialGPUBuffer Class Reference

#include <MaterialGPUBuffer.hpp>

Inheritance diagram for DefaultPipeline::Resource::MaterialGPUBuffer:
Graphic::Resource::AGPUBuffer

Classes

struct  MaterialTransfer

Public Member Functions

 MaterialGPUBuffer (Engine::Entity entity)
 MaterialGPUBuffer (void)
 ~MaterialGPUBuffer () override
void Create (Engine::Core &core) override
void Destroy (Engine::Core &core) override
void Destroy ()
bool IsCreated (Engine::Core &core) const override
void Update (Engine::Core &core) override
void SetMaterial (const Engine::Core &core, const Object::Component::Material &material)
const wgpu::Buffer & GetBuffer () const override
std::string_view GetDebugName () const
Public Member Functions inherited from Graphic::Resource::AGPUBuffer
virtual ~AGPUBuffer ()=default

Static Public Attributes

static std::string prefix = "MaterialGPUBuffer_"

Private Member Functions

void _UpdateDebugName ()
wgpu::Buffer _CreateBuffer (const Graphic::Resource::DeviceContext &context)
void _UpdateBuffer (const Object::Component::Material &materialComponent, const Graphic::Resource::Context &context)

Private Attributes

wgpu::Buffer _buffer
bool _isCreated = false
std::optional< Engine::Entity_entity
std::string _debugName

Constructor & Destructor Documentation

◆ MaterialGPUBuffer() [1/2]

DefaultPipeline::Resource::MaterialGPUBuffer::MaterialGPUBuffer ( Engine::Entity entity)
inlineexplicit

◆ MaterialGPUBuffer() [2/2]

DefaultPipeline::Resource::MaterialGPUBuffer::MaterialGPUBuffer ( void )
inlineexplicit

◆ ~MaterialGPUBuffer()

DefaultPipeline::Resource::MaterialGPUBuffer::~MaterialGPUBuffer ( )
inlineoverride

Member Function Documentation

◆ _CreateBuffer()

wgpu::Buffer DefaultPipeline::Resource::MaterialGPUBuffer::_CreateBuffer ( const Graphic::Resource::DeviceContext & context)
inlineprivate

◆ _UpdateBuffer()

void DefaultPipeline::Resource::MaterialGPUBuffer::_UpdateBuffer ( const Object::Component::Material & materialComponent,
const Graphic::Resource::Context & context )
inlineprivate

◆ _UpdateDebugName()

void DefaultPipeline::Resource::MaterialGPUBuffer::_UpdateDebugName ( )
inlineprivate

◆ Create()

void DefaultPipeline::Resource::MaterialGPUBuffer::Create ( Engine::Core & core)
inlineoverridevirtual

◆ Destroy() [1/2]

void DefaultPipeline::Resource::MaterialGPUBuffer::Destroy ( )
inline

◆ Destroy() [2/2]

void DefaultPipeline::Resource::MaterialGPUBuffer::Destroy ( Engine::Core & core)
inlineoverridevirtual

◆ GetBuffer()

const wgpu::Buffer & DefaultPipeline::Resource::MaterialGPUBuffer::GetBuffer ( ) const
inlineoverridevirtual

◆ GetDebugName()

std::string_view DefaultPipeline::Resource::MaterialGPUBuffer::GetDebugName ( ) const
inline

◆ IsCreated()

bool DefaultPipeline::Resource::MaterialGPUBuffer::IsCreated ( Engine::Core & core) const
inlineoverridevirtual

◆ SetMaterial()

void DefaultPipeline::Resource::MaterialGPUBuffer::SetMaterial ( const Engine::Core & core,
const Object::Component::Material & material )
inline

◆ Update()

void DefaultPipeline::Resource::MaterialGPUBuffer::Update ( Engine::Core & core)
inlineoverridevirtual

Member Data Documentation

◆ _buffer

wgpu::Buffer DefaultPipeline::Resource::MaterialGPUBuffer::_buffer
private

◆ _debugName

std::string DefaultPipeline::Resource::MaterialGPUBuffer::_debugName
private

◆ _entity

std::optional<Engine::Entity> DefaultPipeline::Resource::MaterialGPUBuffer::_entity
private

◆ _isCreated

bool DefaultPipeline::Resource::MaterialGPUBuffer::_isCreated = false
private

◆ prefix

std::string DefaultPipeline::Resource::MaterialGPUBuffer::prefix = "MaterialGPUBuffer_"
inlinestatic

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