mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 15:44:56 +00:00
Graphics debug groups and bug fixes
This commit is contained in:
@@ -204,6 +204,9 @@ void CActor::DrawTouchBounds() const {
|
||||
}
|
||||
|
||||
void CActor::RenderInternal(const CStateManager& mgr) const {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(fmt::format(fmt("CActor::RenderInternal {} {} {}"),
|
||||
x8_uid, xc_editorId, x10_name).c_str(), zeus::skOrange);
|
||||
|
||||
CModelData::EWhichModel which = CModelData::GetRenderingModel(mgr);
|
||||
if (which == CModelData::EWhichModel::ThermalHot) {
|
||||
if (x64_modelData->GetSortThermal()) {
|
||||
|
||||
@@ -538,6 +538,7 @@ void CEnvFxManager::Render(const CStateManager& mgr) const {
|
||||
if (mgr.GetPlayer().GetMorphballTransitionState() != CPlayer::EPlayerMorphBallState::Unmorphed ||
|
||||
(mgr.GetPlayerState()->GetCurrentVisor() != CPlayerState::EPlayerVisor::Thermal &&
|
||||
(fxType != EEnvFxType::Snow || mgr.GetPlayerState()->GetCurrentVisor() != CPlayerState::EPlayerVisor::XRay))) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CEnvFxManager::Render", zeus::skCyan);
|
||||
// No Cull
|
||||
// ZTest, No ZWrite
|
||||
zeus::CTransform xf = GetParticleBoundsToWorldTransform();
|
||||
|
||||
@@ -523,6 +523,8 @@ void CFishCloud::RenderBoid(int idx, const CBoid& boid, u32& drawMask,
|
||||
void CFishCloud::Render(const CStateManager& mgr) const {
|
||||
if (!GetActive())
|
||||
return;
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(fmt::format(fmt("CFishCloud::Render {} {} {}"),
|
||||
x8_uid, xc_editorId, x10_name).c_str(), zeus::skOrange);
|
||||
bool thermalHot = mgr.GetThermalDrawFlag() == EThermalDrawFlag::Hot;
|
||||
CModelFlags flags(0, 0, 3, zeus::skWhite);
|
||||
if (mgr.GetPlayerState()->GetActiveVisor(mgr) == CPlayerState::EPlayerVisor::XRay)
|
||||
|
||||
@@ -739,11 +739,12 @@ void CFluidPlaneCPU::Render(const CStateManager& mgr, float alpha, const zeus::C
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY,
|
||||
const zeus::CVector3f& areaCenter) const {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CFluidPlaneCPU::Render", zeus::skCyan);
|
||||
TCastToConstPtr<CScriptWater> water = mgr.GetObjectById(waterId);
|
||||
CFluidPlaneShader::RenderSetupInfo setupInfo = RenderSetup(mgr, alpha, xf, areaXf, aabb, water.GetPtr());
|
||||
|
||||
if (!m_shader->isReady())
|
||||
return;
|
||||
//if (!m_shader->isReady())
|
||||
// return;
|
||||
|
||||
CFluidPlaneRender::NormalMode normalMode;
|
||||
if (xb0_bumpMap && kEnableWaterBumpMaps)
|
||||
|
||||
@@ -62,10 +62,11 @@ void CFluidPlaneDoor::Render(const CStateManager& mgr, float alpha, const zeus::
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY,
|
||||
const zeus::CVector3f& areaCenter) const {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CFluidPlaneDoor::Render", zeus::skCyan);
|
||||
CFluidPlaneShader::RenderSetupInfo setupInfo = RenderSetup(mgr, alpha, xf, aabb, noNormals);
|
||||
|
||||
if (!m_shader->isReady())
|
||||
return;
|
||||
//if (!m_shader->isReady())
|
||||
// return;
|
||||
|
||||
CFluidPlaneRender::numSubdivisionsInTile = xa4_tileSubdivisions;
|
||||
CFluidPlaneRender::numTilesInHField = 42 / xa4_tileSubdivisions;
|
||||
|
||||
@@ -96,6 +96,7 @@ void CHUDBillboardEffect::PreRender(CStateManager& mgr, const zeus::CFrustum& fr
|
||||
|
||||
void CHUDBillboardEffect::Render(const CStateManager& mgr) const {
|
||||
if (x104_25_enableRender && !x104_24_renderAsParticleGen) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CHUDBillboardEffect::Render", zeus::skPurple);
|
||||
xe8_generator->Render();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1407,6 +1407,7 @@ static const u8 BallSwooshColorsJaggy[9][3] = {{0xFF, 0xCC, 0x00}, {0xFF, 0xCC,
|
||||
{0xFF, 0xCC, 0x00}, {0xFF, 0xCC, 0x00}, {0xFF, 0xCC, 0x00}};
|
||||
|
||||
void CMorphBall::Render(const CStateManager& mgr, const CActorLights* lights) const {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CPlayer::Render", zeus::skPurple);
|
||||
zeus::CTransform ballToWorld = GetBallToWorld();
|
||||
if (x28_tireMode) {
|
||||
ballToWorld = ballToWorld * zeus::CQuaternion::fromAxisAngle(ballToWorld.transposeRotate(x0_player.x500_lookDir),
|
||||
|
||||
@@ -1156,6 +1156,7 @@ void CPlayer::Render(const CStateManager& mgr) const {
|
||||
if (TCastToConstPtr<CCinematicCamera> cam = mgr.GetCameraManager()->GetCurrentCamera(mgr))
|
||||
doRender = (x2f8_morphBallState == EPlayerMorphBallState::Morphed && cam->GetFlags() & 0x40);
|
||||
if (x2f4_cameraState != EPlayerCameraState::FirstPerson && doRender) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CPlayer::Render", zeus::skOrange);
|
||||
CBooModel::SetReflectionCube(m_reflectionCube);
|
||||
bool doTransitionRender = false;
|
||||
bool doBallRender = false;
|
||||
|
||||
@@ -991,6 +991,8 @@ void CWallCrawlerSwarm::RenderBoid(const CBoid* boid, u32& drawMask, bool therma
|
||||
}
|
||||
|
||||
void CWallCrawlerSwarm::Render(const CStateManager& mgr) const {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(fmt::format(fmt("CWallCrawlerSwarm::Render {} {} {}"),
|
||||
x8_uid, xc_editorId, x10_name).c_str(), zeus::skOrange);
|
||||
u32 drawMask = 0xffffffff;
|
||||
bool r24 = x560_24_enableLighting;
|
||||
bool r23 = x560_25_useSoftwareLight;
|
||||
|
||||
@@ -646,6 +646,8 @@ void CWorld::DrawSky(const zeus::CTransform& xf) const {
|
||||
if (!x70_27_skyboxVisible)
|
||||
return;
|
||||
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CWorld::DrawSky", zeus::skCyan);
|
||||
|
||||
CGraphics::DisableAllLights();
|
||||
CGraphics::SetModelMatrix(xf);
|
||||
g_Renderer->SetAmbientColor(zeus::skWhite);
|
||||
|
||||
@@ -232,6 +232,7 @@ void CWorldTransManager::DrawSecondPass(CActorLights* lights) {
|
||||
}
|
||||
|
||||
void CWorldTransManager::DrawEnabled() {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CWorldTransManager::DrawEnabled", zeus::skPurple);
|
||||
CActorLights lights(0, zeus::skZero3f, 4, 4, 0, 0, 0, 0.1f);
|
||||
lights.BuildFakeLightList(x4_modelData->x1a0_lights, zeus::CColor{0.1f, 0.1f, 0.1f, 1.0f});
|
||||
|
||||
@@ -305,9 +306,13 @@ void CWorldTransManager::DrawEnabled() {
|
||||
m_fadeToBlack.draw(zeus::CColor{0.f, 0.f, 0.f, ftbT});
|
||||
}
|
||||
|
||||
void CWorldTransManager::DrawDisabled() { m_fadeToBlack.draw(zeus::CColor{0.f, 0.f, 0.f, 0.01f}); }
|
||||
void CWorldTransManager::DrawDisabled() {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CWorldTransManager::DrawDisabled", zeus::skPurple);
|
||||
m_fadeToBlack.draw(zeus::CColor{0.f, 0.f, 0.f, 0.01f});
|
||||
}
|
||||
|
||||
void CWorldTransManager::DrawText() {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CWorldTransManager::DrawText", zeus::skPurple);
|
||||
float width = 448.f * g_Viewport.aspect;
|
||||
CGraphics::SetOrtho(0.f, width, 448.f, 0.f, -4096.f, 4096.f);
|
||||
CGraphics::SetViewPointMatrix(zeus::CTransform());
|
||||
|
||||
Reference in New Issue
Block a user