45 bool RendererReqsHaveChanged;
46 tU64 CurUserPrimReqs, CurUserPrimReqMask;
48 static const int kMaxDefaultRenderers = 64;
49 static const int kMaxUserRenderers = PGL_MAX_CUSTOM_RENDERERS;
50 tRenderer DefaultRenderers[kMaxDefaultRenderers];
51 tRenderer UserRenderers[kMaxUserRenderers];
52 int NumDefaultRenderers, NumUserRenderers;
53 const tRenderer *CurrentRenderer, *NewRenderer;
55 void RegisterDefaultRenderer(
CRenderer* renderer);
60 void RegisterUserRenderer(
CRenderer* renderer);
63 void MakeNewRendererCurrent();
64 void LoadRenderer(CVifSCDmaPacket& packet);
66 CRenderer& GetCurRenderer() {
return *(CurrentRenderer->renderer); }
67 CRendererProps GetRendererReqs()
const {
return RendererRequirements; }
69 bool IsCurRendererCustom()
const {
return ((tU32)CurrentRenderer >= (tU32)UserRenderers); }
73 void EnableCustom(tU64 flag);
74 void DisableCustom(tU64 flag);
76 void NumLightsChanged(tLightType type,
int num);
77 void PrimChanged(
unsigned int prim);
78 void TexEnabledChanged(
bool enabled);
79 void LightingEnabledChanged(
bool enabled);
80 void SpecularEnabledChanged(
bool enabled);
81 void PerVtxMaterialChanged(RendererProps::tPerVtxMaterial matType);
82 void ClippingEnabledChanged(
bool enabled);
83 void CullFaceEnabledChanged(
bool enabled);
84 void ArrayAccessChanged(RendererProps::tArrayAccess accessType);