mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-10 15:47:43 +00:00
Bind indirect shader pipeline closer to actual draw command
This commit is contained in:
@@ -1949,8 +1949,6 @@ void CElementGen::RenderParticlesIndirectTexture()
|
|||||||
{return a.x4_viewPoint[1] >= b.x4_viewPoint[1];});
|
{return a.x4_viewPoint[1] >= b.x4_viewPoint[1];});
|
||||||
}
|
}
|
||||||
|
|
||||||
CGraphics::SetShaderDataBinding(m_normalDataBind);
|
|
||||||
|
|
||||||
g_instIndTexData.clear();
|
g_instIndTexData.clear();
|
||||||
g_instIndTexData.reserve(x2c_particleLists.size());
|
g_instIndTexData.reserve(x2c_particleLists.size());
|
||||||
|
|
||||||
@@ -2016,8 +2014,12 @@ void CElementGen::RenderParticlesIndirectTexture()
|
|||||||
inst.sceneUVs = Zeus::CVector4f{clipRect.x18_uvXMin, clipRect.x24_uvYMax, clipRect.x1c_uvXMax, clipRect.x20_uvYMin};
|
inst.sceneUVs = Zeus::CVector4f{clipRect.x18_uvXMin, clipRect.x24_uvYMax, clipRect.x1c_uvXMax, clipRect.x20_uvYMin};
|
||||||
}
|
}
|
||||||
|
|
||||||
m_instBuf->load(g_instIndTexData.data(), g_instIndTexData.size() * sizeof(SParticleInstanceIndTex));
|
if (g_instIndTexData.size())
|
||||||
CGraphics::DrawInstances(0, 4, g_instIndTexData.size());
|
{
|
||||||
|
m_instBuf->load(g_instIndTexData.data(), g_instIndTexData.size() * sizeof(SParticleInstanceIndTex));
|
||||||
|
CGraphics::SetShaderDataBinding(m_normalDataBind);
|
||||||
|
CGraphics::DrawInstances(0, 4, g_instIndTexData.size());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CElementGen::SetOrientation(const Zeus::CTransform& orientation)
|
void CElementGen::SetOrientation(const Zeus::CTransform& orientation)
|
||||||
|
|||||||
2
hecl
2
hecl
Submodule hecl updated: 9fdbbb2c29...9cbf88035f
Reference in New Issue
Block a user