Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::SceneShaderData Class Reference

#include <SceneShaderData.h>

Classes

struct  SceneShaderBufferData
 

Public Member Functions

 SceneShaderData (GFXDevice &context)
 
void appData (const U32 elapsedGameTimeMS, const U32 elapsedAppTimeMS, const MaterialDebugFlag materialDebugFlag)
 
void sunDetails (const vec3< F32 > &sunDirection, const FColour3 &colour, const F32 altitude, const F32 azimuth) noexcept
 
void fogDetails (const FogDetails &details) noexcept
 
void fogDensity (F32 density, F32 scatter) noexcept
 
void windDetails (const F32 directionX, const F32 directionY, const F32 directionZ, const F32 speed) noexcept
 
bool waterDetails (const U8 index, const WaterBodyData &data) noexcept
 
bool probeState (const U16 index, const bool state) noexcept
 
bool probeData (const U16 index, const vec3< F32 > &center, const vec3< F32 > &halfExtents) noexcept
 
void updateSceneDescriptorSet (GFX::CommandBuffer &bufferInOut, GFX::MemoryBarrierCommand &memCmdInOut)
 

Private Types

using ProbeBufferData = std::array< ProbeData, GLOBAL_PROBE_COUNT >
 

Private Attributes

GFXDevice_context
 
bool _sceneDataDirty = true
 
bool _probeDataDirty = true
 
SceneShaderBufferData _sceneBufferData
 
ProbeBufferData _probeData = {}
 
ShaderBuffer_uptr _sceneShaderData
 Generic scene data that doesn't change per shader.
 
ShaderBuffer_uptr _probeShaderData
 

Detailed Description

Definition at line 56 of file SceneShaderData.h.

Member Typedef Documentation

◆ ProbeBufferData

Definition at line 192 of file SceneShaderData.h.

Constructor & Destructor Documentation

◆ SceneShaderData()

Divide::SceneShaderData::SceneShaderData ( GFXDevice context)
explicit

Definition at line 8 of file SceneShaderData.cpp.

Member Function Documentation

◆ appData()

void Divide::SceneShaderData::appData ( const U32  elapsedGameTimeMS,
const U32  elapsedAppTimeMS,
const MaterialDebugFlag  materialDebugFlag 
)
inline

Definition at line 76 of file SceneShaderData.h.

◆ fogDensity()

void Divide::SceneShaderData::fogDensity ( F32  density,
F32  scatter 
)
inlinenoexcept

Definition at line 117 of file SceneShaderData.h.

◆ fogDetails()

void Divide::SceneShaderData::fogDetails ( const FogDetails details)
inlinenoexcept

Definition at line 108 of file SceneShaderData.h.

◆ probeData()

bool Divide::SceneShaderData::probeData ( const U16  index,
const vec3< F32 > &  center,
const vec3< F32 > &  halfExtents 
)
inlinenoexcept

Definition at line 171 of file SceneShaderData.h.

◆ probeState()

bool Divide::SceneShaderData::probeState ( const U16  index,
const bool  state 
)
inlinenoexcept

Definition at line 154 of file SceneShaderData.h.

◆ sunDetails()

void Divide::SceneShaderData::sunDetails ( const vec3< F32 > &  sunDirection,
const FColour3 colour,
const F32  altitude,
const F32  azimuth 
)
inlinenoexcept

Definition at line 95 of file SceneShaderData.h.

◆ updateSceneDescriptorSet()

void Divide::SceneShaderData::updateSceneDescriptorSet ( GFX::CommandBuffer bufferInOut,
GFX::MemoryBarrierCommand memCmdInOut 
)

Definition at line 32 of file SceneShaderData.cpp.

◆ waterDetails()

bool Divide::SceneShaderData::waterDetails ( const U8  index,
const WaterBodyData data 
)
inlinenoexcept

Definition at line 142 of file SceneShaderData.h.

◆ windDetails()

void Divide::SceneShaderData::windDetails ( const F32  directionX,
const F32  directionY,
const F32  directionZ,
const F32  speed 
)
inlinenoexcept

Definition at line 130 of file SceneShaderData.h.

Member Data Documentation

◆ _context

GFXDevice& Divide::SceneShaderData::_context
private

Definition at line 194 of file SceneShaderData.h.

◆ _probeData

ProbeBufferData Divide::SceneShaderData::_probeData = {}
private

Definition at line 198 of file SceneShaderData.h.

◆ _probeDataDirty

bool Divide::SceneShaderData::_probeDataDirty = true
private

Definition at line 196 of file SceneShaderData.h.

◆ _probeShaderData

ShaderBuffer_uptr Divide::SceneShaderData::_probeShaderData
private

Definition at line 201 of file SceneShaderData.h.

◆ _sceneBufferData

SceneShaderBufferData Divide::SceneShaderData::_sceneBufferData
private

Definition at line 197 of file SceneShaderData.h.

◆ _sceneDataDirty

bool Divide::SceneShaderData::_sceneDataDirty = true
private

Definition at line 195 of file SceneShaderData.h.

◆ _sceneShaderData

ShaderBuffer_uptr Divide::SceneShaderData::_sceneShaderData
private

Generic scene data that doesn't change per shader.

Definition at line 200 of file SceneShaderData.h.


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