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

Initial PVS stubs

This commit is contained in:
Jack Andersen
2016-07-27 13:06:57 -10:00
parent 8b234fafb8
commit 79443d93d2
14 changed files with 284 additions and 13 deletions

View File

@@ -7,6 +7,7 @@
#include "CDrawablePlaneObject.hpp"
#include "Shaders/CThermalColdFilter.hpp"
#include "CRandom16.hpp"
#include "CPVSVisSet.hpp"
namespace urde
{
@@ -71,6 +72,15 @@ class CBooRenderer : public IRenderer
zeus::CPlane xb0_ = {0.f, 1.f, 0.f, 0.f};
enum class EPVSMode
{
Mask,
PVS,
PVSAndMask
} xc4_pvsMode = EPVSMode::Mask;
std::experimental::optional<CPVSVisSet> xc8_pvs;
u32 xe0_pvsModelCount = 0;
//boo::ITextureS* xe4_blackTex = nullptr;
bool xee_24_ : 1;
@@ -96,7 +106,7 @@ class CBooRenderer : public IRenderer
struct
{
bool x318_24_refectionDirty : 1;
bool x318_25_ : 1;
bool x318_25_drawWireframe : 1;
bool x318_26_ : 1;
bool x318_27_ : 1;
bool x318_28_ : 1;
@@ -121,10 +131,12 @@ public:
std::list<CAreaListItem>::iterator FindStaticGeometry(const std::vector<CMetroidModelInstance>*);
void AddStaticGeometry(const std::vector<CMetroidModelInstance>*, const CAreaOctTree*, int);
void EnablePVS(const CPVSVisSet*, u32);
void DisablePVS();
void RemoveStaticGeometry(const std::vector<CMetroidModelInstance>*);
void DrawUnsortedGeometry(const std::vector<CLight>&, int, unsigned int, unsigned int);
void DrawSortedGeometry(const std::vector<CLight>&, int, unsigned int, unsigned int);
void DrawStaticGeometry(const std::vector<CLight>&, int, unsigned int, unsigned int);
void DrawUnsortedGeometry(const std::vector<CLight>&, int mask, int targetMask);
void DrawSortedGeometry(const std::vector<CLight>&, int mask, int targetMask);
void DrawStaticGeometry(const std::vector<CLight>&, int mask, int targetMask);
void PostRenderFogs();
void AddParticleGen(const CParticleGen&);
void AddPlaneObject(const void*, const zeus::CAABox&, const zeus::CPlane&, int);