It is now possible to use const shaders
A non-constant shader is no longer required to bind or to send uniform Former-commit-id: 8fd7c03b65a2d9fcea69516c023fee034299148c
This commit is contained in:
parent
d63c12bbd5
commit
c65e3d5def
|
|
@ -44,7 +44,7 @@ class NAZARA_API NzRenderer
|
|||
static unsigned int GetMaxRenderTargets();
|
||||
static unsigned int GetMaxTextureUnits();
|
||||
static float GetPointSize();
|
||||
static NzShader* GetShader();
|
||||
static const NzShader* GetShader();
|
||||
static NzRenderTarget* GetTarget();
|
||||
static NzRectui GetViewport();
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ class NAZARA_API NzRenderer
|
|||
static void SetLineWidth(float size);
|
||||
static void SetMatrix(nzMatrixType type, const NzMatrix4f& matrix);
|
||||
static void SetPointSize(float size);
|
||||
static bool SetShader(NzShader* shader);
|
||||
static bool SetShader(const NzShader* shader);
|
||||
static void SetStencilCompareFunction(nzRendererComparison compareFunc);
|
||||
static void SetStencilFailOperation(nzStencilOperation failOperation);
|
||||
static void SetStencilMask(nzUInt32 mask);
|
||||
|
|
|
|||
|
|
@ -51,20 +51,20 @@ class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
|||
|
||||
bool Lock();
|
||||
|
||||
bool SendBoolean(int location, bool value);
|
||||
bool SendColor(int location, const NzColor& color);
|
||||
bool SendDouble(int location, double value);
|
||||
bool SendFloat(int location, float value);
|
||||
bool SendInteger(int location, int value);
|
||||
bool SendMatrix(int location, const NzMatrix4d& matrix);
|
||||
bool SendMatrix(int location, const NzMatrix4f& matrix);
|
||||
bool SendTexture(int location, const NzTexture* texture, nzUInt8* textureUnit = nullptr);
|
||||
bool SendVector(int location, const NzVector2d& vector);
|
||||
bool SendVector(int location, const NzVector2f& vector);
|
||||
bool SendVector(int location, const NzVector3d& vector);
|
||||
bool SendVector(int location, const NzVector3f& vector);
|
||||
bool SendVector(int location, const NzVector4d& vector);
|
||||
bool SendVector(int location, const NzVector4f& vector);
|
||||
bool SendBoolean(int location, bool value) const;
|
||||
bool SendColor(int location, const NzColor& color) const;
|
||||
bool SendDouble(int location, double value) const;
|
||||
bool SendFloat(int location, float value) const;
|
||||
bool SendInteger(int location, int value) const;
|
||||
bool SendMatrix(int location, const NzMatrix4d& matrix) const;
|
||||
bool SendMatrix(int location, const NzMatrix4f& matrix) const;
|
||||
bool SendTexture(int location, const NzTexture* texture, nzUInt8* textureUnit = nullptr) const;
|
||||
bool SendVector(int location, const NzVector2d& vector) const;
|
||||
bool SendVector(int location, const NzVector2f& vector) const;
|
||||
bool SendVector(int location, const NzVector3d& vector) const;
|
||||
bool SendVector(int location, const NzVector3f& vector) const;
|
||||
bool SendVector(int location, const NzVector4d& vector) const;
|
||||
bool SendVector(int location, const NzVector4f& vector) const;
|
||||
|
||||
void Unlock();
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ void NzDebugDrawer::Draw(const NzCubef& cube)
|
|||
if (!vertexBuffer->Unmap())
|
||||
NazaraWarning("Failed to unmap buffer");
|
||||
|
||||
NzShader* oldShader = NzRenderer::GetShader();
|
||||
const NzShader* oldShader = NzRenderer::GetShader();
|
||||
|
||||
if (!NzRenderer::SetShader(shader))
|
||||
{
|
||||
|
|
@ -198,7 +198,7 @@ void NzDebugDrawer::Draw(const NzSkeleton* skeleton)
|
|||
|
||||
if (vertexCount > 0)
|
||||
{
|
||||
NzShader* oldShader = NzRenderer::GetShader();
|
||||
const NzShader* oldShader = NzRenderer::GetShader();
|
||||
|
||||
if (!NzRenderer::SetShader(shader))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ NzMaterial::~NzMaterial()
|
|||
|
||||
void NzMaterial::Apply() const
|
||||
{
|
||||
NzShader* shader = NzRenderer::GetShader();
|
||||
const NzShader* shader = NzRenderer::GetShader();
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!shader)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ namespace
|
|||
nzUInt32 s_stencilMask;
|
||||
const NzIndexBuffer* s_indexBuffer;
|
||||
NzRenderTarget* s_target;
|
||||
NzShader* s_shader;
|
||||
const NzShader* s_shader;
|
||||
const NzVertexBuffer* s_vertexBuffer;
|
||||
const NzVertexDeclaration* s_vertexDeclaration;
|
||||
bool s_vaoUpdated;
|
||||
|
|
@ -322,7 +322,7 @@ float NzRenderer::GetPointSize()
|
|||
return pointSize;
|
||||
}
|
||||
|
||||
NzShader* NzRenderer::GetShader()
|
||||
const NzShader* NzRenderer::GetShader()
|
||||
{
|
||||
return s_shader;
|
||||
}
|
||||
|
|
@ -742,7 +742,7 @@ void NzRenderer::SetPointSize(float size)
|
|||
glPointSize(size);
|
||||
}
|
||||
|
||||
bool NzRenderer::SetShader(NzShader* shader)
|
||||
bool NzRenderer::SetShader(const NzShader* shader)
|
||||
{
|
||||
if (s_shader == shader)
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ bool NzShader::Lock()
|
|||
return m_impl->Lock();
|
||||
}
|
||||
|
||||
bool NzShader::SendBoolean(int location, bool value)
|
||||
bool NzShader::SendBoolean(int location, bool value) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -319,7 +319,7 @@ bool NzShader::SendBoolean(int location, bool value)
|
|||
return m_impl->SendBoolean(location, value);
|
||||
}
|
||||
|
||||
bool NzShader::SendColor(int location, const NzColor& color)
|
||||
bool NzShader::SendColor(int location, const NzColor& color) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -338,7 +338,7 @@ bool NzShader::SendColor(int location, const NzColor& color)
|
|||
return m_impl->SendColor(location, color);
|
||||
}
|
||||
|
||||
bool NzShader::SendDouble(int location, double value)
|
||||
bool NzShader::SendDouble(int location, double value) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!NzRenderer::HasCapability(nzRendererCap_FP64))
|
||||
|
|
@ -363,7 +363,7 @@ bool NzShader::SendDouble(int location, double value)
|
|||
return m_impl->SendDouble(location, value);
|
||||
}
|
||||
|
||||
bool NzShader::SendFloat(int location, float value)
|
||||
bool NzShader::SendFloat(int location, float value) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -382,7 +382,7 @@ bool NzShader::SendFloat(int location, float value)
|
|||
return m_impl->SendFloat(location, value);
|
||||
}
|
||||
|
||||
bool NzShader::SendInteger(int location, int value)
|
||||
bool NzShader::SendInteger(int location, int value) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -401,7 +401,7 @@ bool NzShader::SendInteger(int location, int value)
|
|||
return m_impl->SendInteger(location, value);
|
||||
}
|
||||
|
||||
bool NzShader::SendMatrix(int location, const NzMatrix4d& matrix)
|
||||
bool NzShader::SendMatrix(int location, const NzMatrix4d& matrix) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!NzRenderer::HasCapability(nzRendererCap_FP64))
|
||||
|
|
@ -426,7 +426,7 @@ bool NzShader::SendMatrix(int location, const NzMatrix4d& matrix)
|
|||
return m_impl->SendMatrix(location, matrix);
|
||||
}
|
||||
|
||||
bool NzShader::SendMatrix(int location, const NzMatrix4f& matrix)
|
||||
bool NzShader::SendMatrix(int location, const NzMatrix4f& matrix) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -445,7 +445,7 @@ bool NzShader::SendMatrix(int location, const NzMatrix4f& matrix)
|
|||
return m_impl->SendMatrix(location, matrix);
|
||||
}
|
||||
|
||||
bool NzShader::SendTexture(int location, const NzTexture* texture, nzUInt8* textureUnit)
|
||||
bool NzShader::SendTexture(int location, const NzTexture* texture, nzUInt8* textureUnit) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -464,7 +464,7 @@ bool NzShader::SendTexture(int location, const NzTexture* texture, nzUInt8* text
|
|||
return m_impl->SendTexture(location, texture, textureUnit);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector2d& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector2d& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!NzRenderer::HasCapability(nzRendererCap_FP64))
|
||||
|
|
@ -489,7 +489,7 @@ bool NzShader::SendVector(int location, const NzVector2d& vector)
|
|||
return m_impl->SendVector(location, vector);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector2f& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector2f& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -508,7 +508,7 @@ bool NzShader::SendVector(int location, const NzVector2f& vector)
|
|||
return m_impl->SendVector(location, vector);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector3d& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector3d& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!NzRenderer::HasCapability(nzRendererCap_FP64))
|
||||
|
|
@ -533,7 +533,7 @@ bool NzShader::SendVector(int location, const NzVector3d& vector)
|
|||
return m_impl->SendVector(location, vector);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector3f& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector3f& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
@ -552,7 +552,7 @@ bool NzShader::SendVector(int location, const NzVector3f& vector)
|
|||
return m_impl->SendVector(location, vector);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector4d& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector4d& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!NzRenderer::HasCapability(nzRendererCap_FP64))
|
||||
|
|
@ -577,7 +577,7 @@ bool NzShader::SendVector(int location, const NzVector4d& vector)
|
|||
return m_impl->SendVector(location, vector);
|
||||
}
|
||||
|
||||
bool NzShader::SendVector(int location, const NzVector4f& vector)
|
||||
bool NzShader::SendVector(int location, const NzVector4f& vector) const
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
|
|
|||
Loading…
Reference in New Issue