mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 23:07:42 +00:00
Frustum culling fix
This commit is contained in:
@@ -576,7 +576,7 @@ void CStateManager::DrawAdditionalFilters() const
|
|||||||
|
|
||||||
zeus::CFrustum CStateManager::SetupViewForDraw(const SViewport& vp) const
|
zeus::CFrustum CStateManager::SetupViewForDraw(const SViewport& vp) const
|
||||||
{
|
{
|
||||||
const CGameCamera* cam = static_cast<const CGameCamera*>(x870_cameraManager->GetCurrentCamera(*this));
|
const CGameCamera* cam = x870_cameraManager->GetCurrentCamera(*this);
|
||||||
zeus::CTransform camXf = x870_cameraManager->GetCurrentCameraTransform(*this);
|
zeus::CTransform camXf = x870_cameraManager->GetCurrentCameraTransform(*this);
|
||||||
g_Renderer->SetWorldViewpoint(camXf);
|
g_Renderer->SetWorldViewpoint(camXf);
|
||||||
CBooModel::SetNewPlayerPositionAndTime(x84c_player->GetTranslation());
|
CBooModel::SetNewPlayerPositionAndTime(x84c_player->GetTranslation());
|
||||||
@@ -594,7 +594,7 @@ zeus::CFrustum CStateManager::SetupViewForDraw(const SViewport& vp) const
|
|||||||
zeus::CFrustum frustum;
|
zeus::CFrustum frustum;
|
||||||
zeus::CProjection proj;
|
zeus::CProjection proj;
|
||||||
proj.setPersp(zeus::SProjPersp{fov, width / height, cam->GetNearClipDistance(), cam->GetFarClipDistance()});
|
proj.setPersp(zeus::SProjPersp{fov, width / height, cam->GetNearClipDistance(), cam->GetFarClipDistance()});
|
||||||
frustum.updatePlanes(camXf, proj);
|
frustum.updatePlanes(CGraphics::g_GXModelView, proj);
|
||||||
g_Renderer->SetClippingPlanes(frustum);
|
g_Renderer->SetClippingPlanes(frustum);
|
||||||
//g_Renderer->PrimColor(zeus::CColor::skWhite);
|
//g_Renderer->PrimColor(zeus::CColor::skWhite);
|
||||||
CGraphics::SetModelMatrix(zeus::CTransform::Identity());
|
CGraphics::SetModelMatrix(zeus::CTransform::Identity());
|
||||||
|
|||||||
@@ -920,8 +920,8 @@ void CBooRenderer::DrawUnsortedGeometry(int areaIdx, int mask, int targetMask)
|
|||||||
|
|
||||||
if (!x44_frustumPlanes.aabbFrustumTest(model->x20_aabb))
|
if (!x44_frustumPlanes.aabbFrustumTest(model->x20_aabb))
|
||||||
{
|
{
|
||||||
//model->x40_25_modelVisible = false;
|
model->x40_25_modelVisible = false;
|
||||||
//continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x318_25_drawWireframe)
|
if (x318_25_drawWireframe)
|
||||||
|
|||||||
2
hecl
2
hecl
Submodule hecl updated: 8873d52456...2bfe803bf6
2
specter
2
specter
Submodule specter updated: 883a7498e1...155d455379
Reference in New Issue
Block a user