VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
visutwin::canvas::UniformBinder Class Referenceabstract

#include <platform/graphics/uniformBinder.h>

Inheritance diagram for visutwin::canvas::UniformBinder:
[legend]

Classes

struct  AtmosphereUniforms
struct  GpuLightUniform
struct  LightingUniforms

Public Member Functions

const AtmosphereUniformsatmosphereUniforms () const
 Access the packed AtmosphereUniforms struct.
virtual TextureenvAtlasTexture () const =0
virtual bool isMaterialChanged (const Material *mat) const =0
const LightingUniformslightingUniforms () const
 Access the packed LightingUniforms struct (for backends to submit to GPU).
virtual TexturelocalShadowTexture0 () const =0
virtual TexturelocalShadowTexture1 () const =0
virtual TextureomniShadowCube0 () const =0
virtual TextureomniShadowCube1 () const =0
virtual void resetPassState ()=0
virtual TextureshadowTexture () const =0
virtual TextureskyboxCubeMapTexture () const =0
virtual ~UniformBinder ()=default

Protected Attributes

AtmosphereUniforms _atmosphereUniforms
LightingUniforms _lightingUniforms

Detailed Description

Abstract base for uniform binding. Owns the GPU-side uniform struct definitions (LightingUniforms, GpuLightUniform) and per-pass deduplication state. Backend subclasses implement actual GPU buffer submission.

Definition at line 21 of file uniformBinder.h.

Constructor & Destructor Documentation

◆ ~UniformBinder()

virtual visutwin::canvas::UniformBinder::~UniformBinder ( )
virtualdefault

Member Function Documentation

◆ atmosphereUniforms()

const AtmosphereUniforms & visutwin::canvas::UniformBinder::atmosphereUniforms ( ) const
inlinenodiscard

Access the packed AtmosphereUniforms struct.

Definition at line 120 of file uniformBinder.h.

References _atmosphereUniforms.

◆ envAtlasTexture()

virtual Texture * visutwin::canvas::UniformBinder::envAtlasTexture ( ) const
nodiscardpure virtual

◆ isMaterialChanged()

virtual bool visutwin::canvas::UniformBinder::isMaterialChanged ( const Material * mat) const
nodiscardpure virtual

◆ lightingUniforms()

const LightingUniforms & visutwin::canvas::UniformBinder::lightingUniforms ( ) const
inlinenodiscard

Access the packed LightingUniforms struct (for backends to submit to GPU).

Definition at line 117 of file uniformBinder.h.

References _lightingUniforms.

◆ localShadowTexture0()

virtual Texture * visutwin::canvas::UniformBinder::localShadowTexture0 ( ) const
nodiscardpure virtual

◆ localShadowTexture1()

virtual Texture * visutwin::canvas::UniformBinder::localShadowTexture1 ( ) const
nodiscardpure virtual

◆ omniShadowCube0()

virtual Texture * visutwin::canvas::UniformBinder::omniShadowCube0 ( ) const
nodiscardpure virtual

◆ omniShadowCube1()

virtual Texture * visutwin::canvas::UniformBinder::omniShadowCube1 ( ) const
nodiscardpure virtual

◆ resetPassState()

virtual void visutwin::canvas::UniformBinder::resetPassState ( )
pure virtual

◆ shadowTexture()

virtual Texture * visutwin::canvas::UniformBinder::shadowTexture ( ) const
nodiscardpure virtual

◆ skyboxCubeMapTexture()

virtual Texture * visutwin::canvas::UniformBinder::skyboxCubeMapTexture ( ) const
nodiscardpure virtual

Member Data Documentation

◆ _atmosphereUniforms

AtmosphereUniforms visutwin::canvas::UniformBinder::_atmosphereUniforms
protected

◆ _lightingUniforms


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