Chicane

OpenGL

Header
Includes/Chicane/Renderer/Backend/OpenGL.hpp
Namespace
Chicane::Renderer::OpenGLBackend::TextureTableEntry

Tipos

NomeValorDescrição
GpuQueries
std::vector<std::array<std::uint32_t2>>

Construtores

NomeDescrição
OpenGLBackend()

Destruidores

NomeDescrição
~OpenGLBackend()

Funções Substitutivas

AccessoReturnoModificadorNomeDescrição
public
const
getScreenTextureId()
protected
void
onInit()
protected
void
onShutdown()
protected
void
onLoad(
const  DrawTextureResource& inResources
)
protected
void
onBeginRender()
protected
void
onRender(
const  Frame& inFrame
)
protected
void
onEndRender()

Funções

AccessoReturnoModificadorNomeDescrição
public
const
getGLViewport(
Layer* inLayer
)
public
void
const
useViewport(
Layer* inLayer
)
public
void
const
useProgram(
std::uint32_t inId
)
public
void
const
destroyProgram(
std::uint32_t inId
)
public
std::uint32_t
const
initShader(
const  Shader::List& inShaders
)
public
std::uint32_t
const
initVertexArray(
std::uint32_t inCount
)
public
void
const
bindVertexArray(
std::uint32_t inId
)
public
void
const
destroyVertexArray(
std::uint32_t& inId
)
public
void
const
enableDepth(
const  Depth& inSettings
)
public
void
const
disableDepth()
public
void
const
enableCulling(
const  Culling& inSettings
)
public
void
const
disableCulling()
public
void
const
enableBlending(
const  Blending& inSettings
)
public
void
const
disableBlending()
public
void
const
drawPolyArrays(
const  DrawPoly& inSettings
std::uint32_t inVertexArrayId
)
public
void
const
bindTarget()
public
std::uint32_t
const
getTargetColor()
private
void
buildContext()
private
void
destroyContext()
private
void
buildGlad()
private
void
enableFeatures()
private
void
updateResourcesBudget()
private
void
buildTextureData()
private
void
destroyTextureData()
private
void
const
bindTextureTable()
private
void
uploadTexture(
const  DrawTexture& inTexture
)
private
void
releaseTextureSlot(
TextureSlot& inSlot
)
private
void
writeTextureSlot(
Draw::Id inId
std::uint32_t inClass
std::uint32_t inLayer
)
private
std::uint32_t
const
classFromResident(
std::uint32_t inWidth
std::uint32_t inHeight
)
private
std::uint32_t
allocateLayer(
std::uint32_t inClass
)
private
void
growClass(
std::uint32_t inClass
std::uint32_t inLayers
)
private
void
createClassArray(
SizeClass& inClass
std::uint32_t inLayers
)
private
void
const
fillWhiteLayer(
const  SizeClass& inClass
std::uint32_t inLayer
)
private
void
buildTarget()
private
void
destroyTarget()
private
void
const
presentTarget(
const  Frame& inFrame
)
private
void
captureScreenTarget()
private
void
buildBloom()
private
void
destroyBloom()
private
void
destroyBloomImages()
private
void
const
blurBloomPass(
std::uint32_t inSource
std::uint32_t inDestination
float inX
float inY
)
private
void
buildGpuQueries()
private
void
destroyGpuQueries()
private
void
beginGpuQuery()
private
void
endGpuQuery()
private
void
resolveGpuQuery(
std::uint32_t inSlot
)
private
void
buildFrames()
private
void
destroyFrames()
private
void
buildLayers()
private
std::uint16_t
const
toGLDepthCompare(
DepthCompare inValue
)
private
std::uint16_t
const
toGLFrontFace()
private
std::uint16_t
const
toGLCullingMode(
CullingMode inValue
)
private
std::uint16_t
const
toGLFactor()
private
std::uint32_t
const
toGLDrawTopology()

Membros

AccessoTipoModificadorNomeDescrição
public
std::vector<OpenGLFrame>
frames
private
std::uint32_t
m_currentFrameIndex
private
std::vector<TextureSlot>
m_textures
private
m_classes
private
std::uint32_t
m_textureTable
private
std::uint32_t
m_maxArrayLayers
private
std::uint32_t
m_targetFramebuffer
private
std::uint32_t
m_targetColor
private
std::uint32_t
m_targetDepth
private
std::uint32_t
m_targetWidth
private
std::uint32_t
m_targetHeight
private
std::uint32_t
m_screenBlitFramebuffer
private
std::array<std::uint32_t2>
m_bloomColor
private
std::array<std::uint32_t2>
m_bloomFramebuffer
private
std::uint32_t
m_extractProgram
private
std::uint32_t
m_blurProgram
private
std::uint32_t
m_compositeProgram
private
std::uint32_t
m_postVertexArray
private
m_screenTextureId
private
m_gpuQueries
private
std::vector<bool>
m_gpuQueryPending
private
std::uint32_t
m_gpuQueryWrite
public
std::uint32_t
size
public
std::uint32_t
texture
public
std::uint32_t
allocated
public
std::uint32_t
used
public
std::vector<std::uint32_t>
freeLayers
public
std::uint32_t
classIndex
public
std::uint32_t
layer
public
std::uint32_t
sourceWidth
public
std::uint32_t
sourceHeight
public
std::uint32_t
residentMinMip
public
std::uint32_t
classIndex
public
std::uint32_t
layer