Skip to content

Commit

Permalink
rewriting render pipeline 4 WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
malytomas committed Jan 12, 2025
1 parent 2285291 commit 4dcf954
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions sources/libengine/graphics/renderPipeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -553,10 +553,18 @@ namespace cage
{
CAGE_ASSERT(!instances.empty());
const RenderData &rd = instances[0];
if (std::holds_alternative<RenderModel>(rd.data))
renderModels(renderMode, instances);
if (std::holds_alternative<RenderText>(rd.data))
renderTexts(renderMode, instances);
if (renderMode == RenderModeEnum::DepthPrepass && rd.translucent)
return;
std::visit(
[&](const auto &r)
{
using T = std::decay_t<decltype(r)>;
if constexpr (std::is_same_v<T, RenderModel>)
renderModels(renderMode, instances);
if constexpr (std::is_same_v<T, RenderText>)
renderTexts(renderMode, instances);
},
rd.data);
}

void renderPass(const RenderModeEnum renderMode) const
Expand Down Expand Up @@ -856,10 +864,10 @@ namespace cage
[](const auto &r) -> std::tuple<sint32, uint32, MeshRenderFlags, Model *, bool>
{
using T = std::decay_t<decltype(r)>;
if constexpr (std::is_same_v<T, RenderText>)
return { r.renderLayer, 0, MeshRenderFlags(), (Model *)nullptr, false };
if constexpr (std::is_same_v<T, RenderModel>)
return { r.render.renderLayer + r.mesh->layer, r.mesh->shaderName, r.mesh->flags, +r.mesh, !!r.skeletalAnimation };
if constexpr (std::is_same_v<T, RenderText>)
return { r.renderLayer, 0, MeshRenderFlags(), (Model *)nullptr, false };
return {};
},
d.data);
Expand Down Expand Up @@ -1335,3 +1343,5 @@ namespace cage
// reserve renderData
// shaderanim example: unknown shader variant
// mazetdBuildings example: asset name 0 or m
// scenes: disappearing leaves in minecraft scene
// scenes: blinking lights

0 comments on commit 4dcf954

Please sign in to comment.