CGraphics: Make use of std::array where applicable

This commit is contained in:
Lioncash 2020-04-05 05:44:26 -04:00
parent 8808a3a324
commit 95199848d3
3 changed files with 7 additions and 8 deletions

View File

@ -12,7 +12,7 @@ namespace urde {
CGraphics::CProjectionState CGraphics::g_Proj;
CGraphics::CFogState CGraphics::g_Fog;
zeus::CColor CGraphics::g_ColorRegs[3] = {};
std::array<zeus::CColor, 3> CGraphics::g_ColorRegs{};
float CGraphics::g_ProjAspect = 1.f;
u32 CGraphics::g_NumLightsActive = 0;
u32 CGraphics::g_NumBreakpointsWaiting = 0;
@ -35,7 +35,7 @@ SViewport g_Viewport = {
};
u32 CGraphics::g_FrameCounter = 0;
const zeus::CMatrix3f CGraphics::skCubeBasisMats[] = {
const std::array<zeus::CMatrix3f, 6> CGraphics::skCubeBasisMats{{
/* Right */
{0.f, 1.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, -1.f},
/* Left */
@ -48,7 +48,7 @@ const zeus::CMatrix3f CGraphics::skCubeBasisMats[] = {
{1.f, 0.f, 0.f, 0.f, -1.f, 0.f, 0.f, 0.f, -1.f},
/* Forward */
{-1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, -1.f},
};
}};
void CGraphics::DisableAllLights() {
g_NumLightsActive = 0;

View File

@ -1,5 +1,6 @@
#pragma once
#include <array>
#include <vector>
#include "Runtime/RetroTypes.hpp"
@ -248,7 +249,7 @@ public:
static CProjectionState g_Proj;
static zeus::CVector2f g_CachedDepthRange;
static CFogState g_Fog;
static zeus::CColor g_ColorRegs[3];
static std::array<zeus::CColor, 3> g_ColorRegs;
static float g_ProjAspect;
static u32 g_NumLightsActive;
static u32 g_NumBreakpointsWaiting;
@ -316,7 +317,7 @@ public:
static boo::IGraphicsCommandQueue* g_BooMainCommandQueue;
static boo::ObjToken<boo::ITextureR> g_SpareTexture;
static const zeus::CMatrix3f skCubeBasisMats[6];
static const std::array<zeus::CMatrix3f, 6> skCubeBasisMats;
static void InitializeBoo(boo::IGraphicsDataFactory* factory, boo::IGraphicsCommandQueue* cc,
const boo::ObjToken<boo::ITextureR>& spareTex) {

View File

@ -1055,9 +1055,7 @@ boo::ObjToken<boo::IGraphicsBufferD> CBooModel::UpdateUniformData(const CModelFl
} else {
CModelShaders::LightingUniform& lightingOut = *reinterpret_cast<CModelShaders::LightingUniform*>(dataCur);
lightingOut = m_lightingData;
lightingOut.colorRegs[0] = CGraphics::g_ColorRegs[0];
lightingOut.colorRegs[1] = CGraphics::g_ColorRegs[1];
lightingOut.colorRegs[2] = CGraphics::g_ColorRegs[2];
lightingOut.colorRegs = CGraphics::g_ColorRegs;
lightingOut.mulColor = flags.x4_color;
lightingOut.addColor = flags.addColor;
lightingOut.fog = CGraphics::g_Fog;