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

Additional ThermalCold filter work; CStateManager fields

This commit is contained in:
Jack Andersen
2016-07-22 09:46:30 -10:00
parent 68dcc9ca57
commit 6bbed11859
21 changed files with 236 additions and 69 deletions

View File

@@ -89,6 +89,27 @@ void ViewManager::ParticleView::draw(boo::IGraphicsCommandQueue *gfxQ)
//lights = {CLight::BuildLocalAmbient({}, {0.0f, 0.0f, 0.0f, 1.f})};
m_vm.m_modelTest->GetInstance().ActivateLights(lights);
m_vm.m_modelTest->Draw(flags);
zeus::CColor ctrlCol{1.f, 0.f, 0.f, 1.f};
float fac = 0.5f;
zeus::CColor a = zeus::CColor::lerp(ctrlCol, zeus::CColor::skWhite, fac);
m_thermColdFilter.setColorA(a);
float bFac = 0.f;
float bAlpha = 1.f;
if (fac < 0.5f)
{
bAlpha = fac * 2.f;
bFac = (1.f - bAlpha) / 8.f;
}
zeus::CColor b{bFac, bFac, bFac, bAlpha};
m_thermColdFilter.setColorB(b);
zeus::CColor c = zeus::CColor::lerp(zeus::CColor::skBlack, zeus::CColor::skWhite, fac * 0.75f + 0.25f);
m_thermColdFilter.setColorC(c);
m_thermColdFilter.setScale(std::sin(m_theta) * 0.5f + 0.5f);
m_thermColdFilter.setShift(m_random.Next() % 32);
m_thermColdFilter.draw();
}
if (m_vm.m_partGen)
{