CG_Labs  2021.2
Classes | Typedefs | Enumerations | Functions
anonymous_namespace{assignment2.cpp} Namespace Reference

Classes

struct  ViewProjTransforms
 
struct  GeometryTextureData
 
struct  GBufferShaderLocations
 
struct  FillShadowmapShaderLocations
 
struct  AccumulateLightsShaderLocations
 

Typedefs

using Textures = std::array< GLuint, toU(Texture::Count)>
 
using Samplers = std::array< GLuint, toU(Sampler::Count)>
 
using FBOs = std::array< GLuint, toU(FBO::Count)>
 
using ElapsedTimeQueries = std::array< GLuint, toU(ElapsedTimeQuery::Count)>
 
using UBOs = std::array< GLuint, toU(UBO::Count)>
 

Enumerations

enum class  Texture : uint32_t {
  DepthBuffer = 0u , ShadowMap , GBufferDiffuse , GBufferSpecular ,
  GBufferWorldSpaceNormal , LightDiffuseContribution , LightSpecularContribution , Result ,
  Count
}
 
enum class  Sampler : uint32_t { Nearest = 0u , Linear , Mipmaps , Count }
 
enum class  FBO : uint32_t {
  GBuffer = 0u , ShadowMap , LightAccumulation , Resolve ,
  FinalWithDepth , Count
}
 
enum class  ElapsedTimeQuery : uint32_t {
  GbufferGeneration = 0u , ShadowMap0Generation , Light0Accumulation = ShadowMap0Generation + static_cast<uint32_t>(constant::lights_nb) , Resolve = Light0Accumulation + static_cast<uint32_t>(constant::lights_nb) ,
  ConeWireframe , GUI , CopyToFramebuffer , Count
}
 
enum class  UBO : uint32_t { CameraViewProjTransforms = 0u , LightViewProjTransforms , Count }
 

Functions

template<class E >
constexpr auto toU (E const &e)
 
Textures createTextures (GLsizei framebuffer_width, GLsizei framebuffer_height)
 
Samplers createSamplers ()
 
FBOs createFramebufferObjects (Textures const &textures)
 
ElapsedTimeQueries createElapsedTimeQueries ()
 
UBOs createUniformBufferObjects ()
 
void fillGBufferShaderLocations (GLuint gbuffer_shader, GBufferShaderLocations &locations)
 
void fillShadowmapShaderLocations (GLuint shadowmap_shader, FillShadowmapShaderLocations &locations)
 
void fillAccumulateLightsShaderLocations (GLuint accumulate_lights_shader, AccumulateLightsShaderLocations &locations)
 
bonobo::mesh_data loadCone ()
 

Typedef Documentation

◆ ElapsedTimeQueries

using anonymous_namespace{assignment2.cpp}::ElapsedTimeQueries = typedef std::array<GLuint, toU(ElapsedTimeQuery::Count)>

◆ FBOs

using anonymous_namespace{assignment2.cpp}::FBOs = typedef std::array<GLuint, toU(FBO::Count)>

◆ Samplers

using anonymous_namespace{assignment2.cpp}::Samplers = typedef std::array<GLuint, toU(Sampler::Count)>

◆ Textures

using anonymous_namespace{assignment2.cpp}::Textures = typedef std::array<GLuint, toU(Texture::Count)>

◆ UBOs

using anonymous_namespace{assignment2.cpp}::UBOs = typedef std::array<GLuint, toU(UBO::Count)>

Enumeration Type Documentation

◆ ElapsedTimeQuery

enum anonymous_namespace{assignment2.cpp}::ElapsedTimeQuery : uint32_t
strong
Enumerator
GbufferGeneration 
ShadowMap0Generation 
Light0Accumulation 
Resolve 
ConeWireframe 
GUI 
CopyToFramebuffer 
Count 

◆ FBO

enum anonymous_namespace{assignment2.cpp}::FBO : uint32_t
strong
Enumerator
GBuffer 
ShadowMap 
LightAccumulation 
Resolve 
FinalWithDepth 
Count 

◆ Sampler

enum anonymous_namespace{assignment2.cpp}::Sampler : uint32_t
strong
Enumerator
Nearest 
Linear 
Mipmaps 
Count 

◆ Texture

enum anonymous_namespace{assignment2.cpp}::Texture : uint32_t
strong
Enumerator
DepthBuffer 
ShadowMap 
GBufferDiffuse 
GBufferSpecular 
GBufferWorldSpaceNormal 
LightDiffuseContribution 
LightSpecularContribution 
Result 
Count 

◆ UBO

enum anonymous_namespace{assignment2.cpp}::UBO : uint32_t
strong
Enumerator
CameraViewProjTransforms 
LightViewProjTransforms 
Count 

Function Documentation

◆ createElapsedTimeQueries()

ElapsedTimeQueries anonymous_namespace{assignment2.cpp}::createElapsedTimeQueries ( )

◆ createFramebufferObjects()

FBOs anonymous_namespace{assignment2.cpp}::createFramebufferObjects ( Textures const &  textures)

◆ createSamplers()

Samplers anonymous_namespace{assignment2.cpp}::createSamplers ( )

◆ createTextures()

Textures anonymous_namespace{assignment2.cpp}::createTextures ( GLsizei  framebuffer_width,
GLsizei  framebuffer_height 
)

◆ createUniformBufferObjects()

UBOs anonymous_namespace{assignment2.cpp}::createUniformBufferObjects ( )

◆ fillAccumulateLightsShaderLocations()

void anonymous_namespace{assignment2.cpp}::fillAccumulateLightsShaderLocations ( GLuint  accumulate_lights_shader,
AccumulateLightsShaderLocations locations 
)

◆ fillGBufferShaderLocations()

void anonymous_namespace{assignment2.cpp}::fillGBufferShaderLocations ( GLuint  gbuffer_shader,
GBufferShaderLocations locations 
)

◆ fillShadowmapShaderLocations()

void anonymous_namespace{assignment2.cpp}::fillShadowmapShaderLocations ( GLuint  shadowmap_shader,
FillShadowmapShaderLocations locations 
)

◆ loadCone()

bonobo::mesh_data anonymous_namespace{assignment2.cpp}::loadCone ( )

◆ toU()

template<class E >
constexpr auto anonymous_namespace{assignment2.cpp}::toU ( E const &  e)
constexpr