2
0
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:
Jack Andersen
2016-02-26 15:39:16 -10:00
parent 2af208c039
commit 4405af9925
2 changed files with 7 additions and 5 deletions

View File

@@ -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

Submodule hecl updated: 9fdbbb2c29...9cbf88035f