Renderer/RenderStates: Update RenderStates structure (preparing for renderer update)

Former-commit-id: 8a6545bd9d4145f092bc0d90650c75e79c5298c9 [formerly 82499bdba825dfc5fff8f15be285a1ae5c4a2c41]
Former-commit-id: d1c39e221b96a0e032e113691bcb1c0c68f5899e
This commit is contained in:
Lynix
2016-07-21 23:00:09 +02:00
parent 1d8fad1458
commit 887432b3ce
17 changed files with 339 additions and 218 deletions

View File

@@ -53,7 +53,36 @@ namespace Nz
{
NazaraAssert(renderParameter <= RendererParameter_Max, "Renderer parameter out of enum");
m_states.parameters[renderParameter] = enable;
switch (renderParameter)
{
case RendererParameter_Blend:
m_states.blending = enable;
return;
case RendererParameter_ColorWrite:
m_states.colorWrite = enable;
return;
case RendererParameter_DepthBuffer:
m_states.depthBuffer = enable;
return;
case RendererParameter_DepthWrite:
m_states.depthWrite = enable;
return;
case RendererParameter_FaceCulling:
m_states.faceCulling = enable;
return;
case RendererParameter_ScissorTest:
m_states.scissorTest = enable;
return;
case RendererParameter_StencilTest:
m_states.stencilTest = enable;
return;
}
}
/*!
@@ -257,7 +286,7 @@ namespace Nz
inline FaceSide Material::GetFaceCulling() const
{
return m_states.faceCulling;
return m_states.cullingSide;
}
/*!
@@ -489,7 +518,32 @@ namespace Nz
{
NazaraAssert(parameter <= RendererParameter_Max, "Renderer parameter out of enum");
return m_states.parameters[parameter];
switch (parameter)
{
case RendererParameter_Blend:
return m_states.blending;
case RendererParameter_ColorWrite:
return m_states.colorWrite;
case RendererParameter_DepthBuffer:
return m_states.depthBuffer;
case RendererParameter_DepthWrite:
return m_states.depthWrite;
case RendererParameter_FaceCulling:
return m_states.faceCulling;
case RendererParameter_ScissorTest:
return m_states.scissorTest;
case RendererParameter_StencilTest:
return m_states.stencilTest;
}
NazaraInternalError("Unhandled renderer parameter: 0x" + String::Number(parameter, 16));
return false;
}
/*!
@@ -778,7 +832,7 @@ namespace Nz
inline void Material::SetFaceCulling(FaceSide faceSide)
{
m_states.faceCulling = faceSide;
m_states.cullingSide = faceSide;
}
/*!