Chicane

Backend

Header
Includes/Chicane/Renderer/Backend.hpp
Namespace
Chicane::Renderer::Backend

Tipos

NomeValorDescrição
LayerList
std::vector<std::shared_ptr<Layer>>

Construtores

NomeDescrição
Backend()

Destruidores

NomeDescrição
~Backend()

Funções Virtuais

AccessoReturnoModificadorNomeDescrição
public
void
onInit()
public
void
onShutdown()
public
void
onResize()
public
void
onLoad(
DrawPolyType inType, 
const  DrawPolyResource& inResource
)
public
void
onLoad(
const  DrawTextureResource& inResources
)
public
void
onLoad(
const  DrawSkyResource& inResource
)
public
void
onBeginRender()
public
void
onRender(
const  Frame& inFrame
)
public
void
onEndRender()
public
const
getScreenTextureId()
public
bool
captureScreen(
std::uint32_t& outWidth, 
std::uint32_t& outHeight, 
std::vector<unsigned char>& outRgba
)
public
const
getRHIViewport(
Layer* inLayer
)
public
const
getRHIScissor(
Layer* inLayer
)
protected
void
discardViewTarget(
RHI::Image inImage
)

Funções

AccessoReturnoModificadorNomeDescrição
public
const  Instance*
const
getRenderer()
public
bool
const
hasFeature(
RendererFeature inFeature
)
public
int
registerViewTarget(
const  String& inName
)
public
int
const
viewTargetSlot(
const  String& inName
)
public
const
viewTargetTexture(
std::uint32_t inSlot
)
public
const
viewTargetImage(
std::uint32_t inSlot
)
public
const
viewPlaceholder()
public
std::vector<Layer*>
const
findLayers(
std::function<bool(const Layer *inLayer)> inPredicate
)
public
inline, const
getLayer(
const  String& inId
)
public
void
inline
addLayer(
const  ListPush<Layer*>& inSettings, 
Params... inParams
)
public
std::size_t
getResourceSize(
Resource inType
)
public
std::size_t
getResourceBudget(
Resource inType
)
public
std::uint32_t
getResourceBudgetCount(
Resource inType
)
public
bool
const
isStatus(
BackendStatus inValue
)
public
const
getRHIDevice()
public
float
const
getGpuDelta()
protected
bool
const
isScreenComposited(
const  Frame& inFrame
)
protected
const
getLayerViewport(
Layer* inLayer
)
protected
void
renderLayers(
const  Frame& inFrame, 
void* inData, 
std::function<bool(const Layer *inLayer)> inFilter
)
protected
void
shutdownLayers()
protected
void
rebuildLayers()
protected
void
destroyLayers()
protected
void
setVRAM(
std::size_t inBytes
)
protected
void
setGpuDelta(
float inMilliseconds
)
protected
void
assignViewTargetTexture(
std::uint32_t inSlot, 
Draw::Id inTexture
)
protected
void
prepareViewTargets()
protected
void
renderViewTargets(
RHI::Frame& ioFrame, 
bool bFlipY
)
protected
void
destroyViewTargets()
protected
void
ensureViewPlaceholder()
protected
void
ensureViewTarget(
std::uint32_t inSlot, 
std::uint32_t inWidth, 
std::uint32_t inHeight
)
protected
void
uploadViewTarget(
std::uint32_t inSlot, 
const  Frame& inFrame, 
bool bFlipY
)
protected
void
drawViewTarget(
std::uint32_t inSlot, 
const  Frame& inFrame, 
RHI::Frame& ioFrame
)
protected
const
previewScissor()
private
void
setRenderer(
const  Instance* inValue
)

Membros

AccessoTipoModificadorNomeDescrição
public
friend
Instance
protected
const  Instance*
m_renderer
protected
m_layers
protected
std::unique_ptr<RHI::Device>
m_rhi
protected
std::size_t
m_VRAM
protected
float
m_gpuDelta
protected
bool
m_bPreviewPass
protected
m_previewViewport
protected
m_viewSlots
protected
std::uint32_t
m_viewSlotCount
protected
m_viewPlaceholder
private
m_status