Pyrogenesis  trunk
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
SkyManager Class Reference

Class SkyManager: Maintain sky settings and textures, and render the sky. More...

#include <SkyManager.h>

Collaboration diagram for SkyManager:
Collaboration graph
[legend]

Public Member Functions

 SkyManager ()
 
void RenderSky (Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
 Render the sky. More...
 
const CStrW & GetSkySet () const
 Return the currently selected sky set name. More...
 
Renderer::Backend::ITextureGetSkyCube ()
 
void SetSkySet (const CStrW &name)
 Set the sky set name. More...
 
std::vector< CStrW > GetSkySets () const
 Return a sorted list of available sky sets, in a form suitable for passing to SetSkySet. More...
 
bool IsSkyVisible () const
 
void SetSkyVisible (bool value)
 
void LoadAndUploadSkyTexturesIfNeeded (Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
 Load all sky textures from files and upload to GPU. More...
 

Private Types

enum  {
  FRONT, BACK, RIGHT, LEFT,
  TOP, NUMBER_OF_TEXTURES
}
 

Private Member Functions

void CreateSkyCube ()
 

Private Attributes

bool m_SkyVisible = true
 
CStrW m_SkySet
 Name of current skyset (a directory within art/textures/skies) More...
 
CTexturePtr m_SkyTexture [NUMBER_OF_TEXTURES]
 
CTexturePtr m_SkyTextureCube
 
VertexArray m_VertexArray
 
VertexArray::Attribute m_AttributePosition
 
VertexArray::Attribute m_AttributeUV
 
Renderer::Backend::IVertexInputLayoutm_VertexInputLayout = nullptr
 

Detailed Description

Class SkyManager: Maintain sky settings and textures, and render the sky.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
FRONT 
BACK 
RIGHT 
LEFT 
TOP 
NUMBER_OF_TEXTURES 

Constructor & Destructor Documentation

◆ SkyManager()

SkyManager::SkyManager ( )

Member Function Documentation

◆ CreateSkyCube()

void SkyManager::CreateSkyCube ( )
private

◆ GetSkyCube()

Renderer::Backend::ITexture * SkyManager::GetSkyCube ( )

◆ GetSkySet()

const CStrW& SkyManager::GetSkySet ( ) const
inline

Return the currently selected sky set name.

◆ GetSkySets()

std::vector< CStrW > SkyManager::GetSkySets ( ) const

Return a sorted list of available sky sets, in a form suitable for passing to SetSkySet.

◆ IsSkyVisible()

bool SkyManager::IsSkyVisible ( ) const
inline

◆ LoadAndUploadSkyTexturesIfNeeded()

void SkyManager::LoadAndUploadSkyTexturesIfNeeded ( Renderer::Backend::IDeviceCommandContext deviceCommandContext)

Load all sky textures from files and upload to GPU.

◆ RenderSky()

void SkyManager::RenderSky ( Renderer::Backend::IDeviceCommandContext deviceCommandContext)

Render the sky.

◆ SetSkySet()

void SkyManager::SetSkySet ( const CStrW &  name)

Set the sky set name.

◆ SetSkyVisible()

void SkyManager::SetSkyVisible ( bool  value)
inline

Member Data Documentation

◆ m_AttributePosition

VertexArray::Attribute SkyManager::m_AttributePosition
private

◆ m_AttributeUV

VertexArray::Attribute SkyManager::m_AttributeUV
private

◆ m_SkySet

CStrW SkyManager::m_SkySet
private

Name of current skyset (a directory within art/textures/skies)

◆ m_SkyTexture

CTexturePtr SkyManager::m_SkyTexture[NUMBER_OF_TEXTURES]
private

◆ m_SkyTextureCube

CTexturePtr SkyManager::m_SkyTextureCube
private

◆ m_SkyVisible

bool SkyManager::m_SkyVisible = true
private

◆ m_VertexArray

VertexArray SkyManager::m_VertexArray
private

◆ m_VertexInputLayout

Renderer::Backend::IVertexInputLayout* SkyManager::m_VertexInputLayout = nullptr
private

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