1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-07-03 22:44:32 +00:00

Add RenderState to be passed through the scene graph

This will eventually handle all mutable state during rendering
This commit is contained in:
fgenesis 2022-05-20 01:04:19 +02:00
parent b6c5d90d3a
commit 68b3c61852
57 changed files with 201 additions and 150 deletions

View file

@ -212,14 +212,13 @@ void RenderObjectLayer::moveToBack(RenderObject *r)
}
}
void RenderObjectLayer::renderPass(int pass)
void RenderObjectLayer::renderPass(const RenderState& rs, int pass)
{
core->currentLayerPass = pass;
for (RenderObject *robj = getFirst(); robj; robj = getNext())
{
renderOneObject(robj);
renderOneObject(rs, robj);
}
}
@ -227,8 +226,7 @@ void RenderObjectLayer::reloadDevice()
{
}
inline void RenderObjectLayer::renderOneObject(const RenderObject *robj)
inline void RenderObjectLayer::renderOneObject(const RenderState& rs, const RenderObject *robj)
{
core->totalRenderObjectCount++;
if (robj->getParent() || robj->alpha.x == 0)
@ -236,7 +234,7 @@ inline void RenderObjectLayer::renderOneObject(const RenderObject *robj)
if (!robj->cull || robj->isOnScreen())
{
robj->render();
robj->render(rs);
core->renderObjectCount++;
}
core->processedRenderObjectCount++;