2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 07:07:42 +00:00

Refactors to support fog volume rendering

This commit is contained in:
Jack Andersen
2017-03-13 21:03:58 -10:00
parent 22989ff47c
commit 1629882113
47 changed files with 1362 additions and 332 deletions

View File

@@ -224,12 +224,12 @@ CBooModel::ModelInstance* CBooModel::PushNewModelInstance()
{
size_t texCount;
boo::ITexture** ltexs;
if (idx == 2)
if (idx == EExtendedShader::Thermal)
{
texCount = 8;
ltexs = texs.data();
}
else if (idx == 6)
else if (idx == EExtendedShader::MorphBallShadow)
{
texCount = 3;
ltexs = mbShadowTexs;
@@ -242,7 +242,7 @@ CBooModel::ModelInstance* CBooModel::PushNewModelInstance()
extendeds.push_back(
ctx.newShaderDataBinding(pipeline, m_vtxFmt,
x8_vbo, nullptr, xc_ibo, 3, bufs, stages,
thisOffs, thisSizes, texCount, ltexs));
thisOffs, thisSizes, texCount, ltexs, nullptr, nullptr));
++idx;
}
}
@@ -681,7 +681,8 @@ void CBooModel::UpdateUniformData(const CModelFlags& flags,
thermalOut.mulColor = flags.color;
thermalOut.addColor = flags.addColor;
}
else if (flags.m_extendedShader == EExtendedShader::SolidColor) /* Solid color render */
else if (flags.m_extendedShader >= EExtendedShader::SolidColor &&
flags.m_extendedShader <= EExtendedShader::SolidColorBackfaceCullGreaterAlphaOnly) /* Solid color render */
{
CModelShaders::SolidUniform& solidOut = *reinterpret_cast<CModelShaders::SolidUniform*>(dataCur);
solidOut.solidColor = flags.color;