Renamed Shader to ShaderProgram
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Graphics/AbstractBackground.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
|
||||
class NAZARA_API NzColorBackground : public NzAbstractBackground
|
||||
{
|
||||
@@ -26,7 +26,7 @@ class NAZARA_API NzColorBackground : public NzAbstractBackground
|
||||
|
||||
private:
|
||||
NzColor m_color;
|
||||
NzShaderConstRef m_shader;
|
||||
NzShaderProgramConstRef m_program;
|
||||
};
|
||||
|
||||
#endif // NAZARA_COLORBACKGROUND_HPP
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <Nazara/Graphics/Enums.hpp>
|
||||
#include <Nazara/Graphics/SceneNode.hpp>
|
||||
|
||||
class NzShader;
|
||||
class NzShaderProgram;
|
||||
|
||||
class NAZARA_API NzLight : public NzSceneNode
|
||||
{
|
||||
@@ -23,7 +23,7 @@ class NAZARA_API NzLight : public NzSceneNode
|
||||
|
||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
||||
|
||||
void Enable(const NzShader* shader, unsigned int lightUnit) const;
|
||||
void Enable(const NzShaderProgram* program, unsigned int lightUnit) const;
|
||||
|
||||
NzColor GetAmbientColor() const;
|
||||
float GetAttenuation() const;
|
||||
@@ -46,7 +46,7 @@ class NAZARA_API NzLight : public NzSceneNode
|
||||
|
||||
NzLight& operator=(const NzLight& light);
|
||||
|
||||
static void Disable(const NzShader* shader, unsigned int lightUnit);
|
||||
static void Disable(const NzShaderProgram* program, unsigned int lightUnit);
|
||||
|
||||
private:
|
||||
void Invalidate();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Graphics/AbstractBackground.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
#include <Nazara/Renderer/TextureSampler.hpp>
|
||||
#include <Nazara/Utility/IndexBuffer.hpp>
|
||||
@@ -35,7 +35,7 @@ class NAZARA_API NzSkyboxBackground : public NzAbstractBackground
|
||||
NzTextureRef m_texture;
|
||||
NzTextureSampler m_sampler;
|
||||
NzIndexBufferRef m_indexBuffer;
|
||||
NzShaderRef m_shader;
|
||||
NzShaderProgramRef m_program;
|
||||
NzVertexBufferRef m_vertexBuffer;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Graphics/AbstractBackground.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
|
||||
class NAZARA_API NzTextureBackground : public NzAbstractBackground
|
||||
@@ -26,7 +26,7 @@ class NAZARA_API NzTextureBackground : public NzAbstractBackground
|
||||
void SetTexture(NzTexture* texture);
|
||||
|
||||
private:
|
||||
NzShaderConstRef m_shader;
|
||||
NzShaderProgramConstRef m_program;
|
||||
NzTextureRef m_texture;
|
||||
};
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
#include <Nazara/Renderer/RenderTargetParameters.hpp>
|
||||
#include <Nazara/Renderer/RenderTexture.hpp>
|
||||
#include <Nazara/Renderer/RenderWindow.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderManager.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgramManager.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
#include <Nazara/Renderer/TextureSampler.hpp>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Renderer/RenderStates.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
#include <Nazara/Renderer/TextureSampler.hpp>
|
||||
|
||||
@@ -48,7 +48,7 @@ class NAZARA_API NzMaterial : public NzResource
|
||||
NzMaterial(NzMaterial&& material);
|
||||
~NzMaterial() = default;
|
||||
|
||||
void Apply(const NzShader* shader) const;
|
||||
void Apply(const NzShaderProgram* program) const;
|
||||
|
||||
void Enable(nzRendererParameter renderParameter, bool enable);
|
||||
void EnableAlphaTest(bool alphaTest);
|
||||
@@ -69,7 +69,7 @@ class NAZARA_API NzMaterial : public NzResource
|
||||
NzTexture* GetHeightMap() const;
|
||||
NzTexture* GetNormalMap() const;
|
||||
const NzRenderStates& GetRenderStates() const;
|
||||
const NzShader* GetShader(nzShaderTarget target, nzUInt32 flags) const;
|
||||
const NzShaderProgram* GetShaderProgram(nzShaderTarget target, nzUInt32 flags) const;
|
||||
float GetShininess() const;
|
||||
NzColor GetSpecularColor() const;
|
||||
NzTexture* GetSpecularMap() const;
|
||||
@@ -113,7 +113,7 @@ class NAZARA_API NzMaterial : public NzResource
|
||||
bool SetNormalMap(const NzString& texturePath);
|
||||
void SetNormalMap(NzTexture* map);
|
||||
void SetRenderStates(const NzRenderStates& states);
|
||||
void SetShader(nzShaderTarget target, nzUInt32 flags, const NzShader* shader);
|
||||
void SetShaderProgram(nzShaderTarget target, nzUInt32 flags, const NzShaderProgram* program);
|
||||
void SetShininess(float shininess);
|
||||
void SetSpecularColor(const NzColor& specular);
|
||||
bool SetSpecularMap(const NzString& texturePath);
|
||||
@@ -127,15 +127,15 @@ class NAZARA_API NzMaterial : public NzResource
|
||||
static NzMaterial* GetDefault();
|
||||
|
||||
private:
|
||||
struct ShaderUnit
|
||||
struct ProgramUnit
|
||||
{
|
||||
NzShaderConstRef shader;
|
||||
NzShaderProgramConstRef program;
|
||||
bool custom = false;
|
||||
};
|
||||
|
||||
void Copy(const NzMaterial& material);
|
||||
void GenerateShader(nzShaderTarget target, nzUInt32 flags) const;
|
||||
void InvalidateShaders(nzShaderTarget target);
|
||||
void GenerateProgram(nzShaderTarget target, nzUInt32 flags) const;
|
||||
void InvalidatePrograms(nzShaderTarget target);
|
||||
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
@@ -144,7 +144,7 @@ class NAZARA_API NzMaterial : public NzResource
|
||||
NzColor m_diffuseColor;
|
||||
NzColor m_specularColor;
|
||||
NzRenderStates m_states;
|
||||
mutable ShaderUnit m_shaders[nzShaderTarget_Max+1][nzShaderFlags_Max+1];
|
||||
mutable ProgramUnit m_programs[nzShaderTarget_Max+1][nzShaderFlags_Max+1];
|
||||
NzTextureSampler m_diffuseSampler;
|
||||
NzTextureSampler m_specularSampler;
|
||||
NzTextureRef m_alphaMap;
|
||||
|
||||
@@ -22,7 +22,7 @@ class NzContext;
|
||||
class NzIndexBuffer;
|
||||
class NzMaterial;
|
||||
class NzRenderTarget;
|
||||
class NzShader;
|
||||
class NzShaderProgram;
|
||||
class NzVertexBuffer;
|
||||
|
||||
class NAZARA_API NzRenderer
|
||||
@@ -52,7 +52,7 @@ class NAZARA_API NzRenderer
|
||||
static float GetPointSize();
|
||||
static const NzRenderStates& GetRenderStates();
|
||||
static NzRectui GetScissorRect();
|
||||
static const NzShader* GetShader();
|
||||
static const NzShaderProgram* GetShaderProgram();
|
||||
static const NzRenderTarget* GetTarget();
|
||||
static NzRectui GetViewport();
|
||||
|
||||
@@ -79,7 +79,7 @@ class NAZARA_API NzRenderer
|
||||
static void SetPointSize(float size);
|
||||
static void SetRenderStates(const NzRenderStates& states);
|
||||
static void SetScissorRect(const NzRectui& viewport);
|
||||
static void SetShader(const NzShader* shader);
|
||||
static void SetShaderProgram(const NzShaderProgram* shader);
|
||||
static void SetStencilCompareFunction(nzRendererComparison compareFunc);
|
||||
static void SetStencilFailOperation(nzStencilOperation failOperation);
|
||||
static void SetStencilMask(nzUInt32 mask);
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
// Copyright (C) 2013 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_SHADERMANAGER_HPP
|
||||
#define NAZARA_SHADERMANAGER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderManagerParams.hpp>
|
||||
|
||||
class NAZARA_API NzShaderManager
|
||||
{
|
||||
friend class NzRenderer;
|
||||
|
||||
public:
|
||||
NzShaderManager() = delete;
|
||||
~NzShaderManager() = delete;
|
||||
|
||||
static const NzShader* Get(const NzShaderManagerParams& params);
|
||||
|
||||
private:
|
||||
static NzString BuildFragmentCode(const NzShaderManagerParams& params);
|
||||
static NzString BuildVertexCode(const NzShaderManagerParams& params);
|
||||
static NzShader* GenerateShader(const NzShaderManagerParams& params);
|
||||
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
};
|
||||
|
||||
#endif // NAZARA_SHADERMANAGER_HPP
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_SHADER_HPP
|
||||
#define NAZARA_SHADER_HPP
|
||||
#ifndef NAZARA_SHADERPROGRAM_HPP
|
||||
#define NAZARA_SHADERPROGRAM_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ByteArray.hpp>
|
||||
@@ -20,23 +20,23 @@
|
||||
#include <Nazara/Math/Vector4.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
|
||||
class NzShader;
|
||||
class NzShaderProgram;
|
||||
|
||||
using NzShaderConstRef = NzResourceRef<const NzShader>;
|
||||
using NzShaderRef = NzResourceRef<NzShader>;
|
||||
using NzShaderProgramConstRef = NzResourceRef<const NzShaderProgram>;
|
||||
using NzShaderProgramRef = NzResourceRef<NzShaderProgram>;
|
||||
|
||||
class NzAbstractShader;
|
||||
class NzAbstractShaderProgram;
|
||||
class NzTexture;
|
||||
|
||||
class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
||||
class NAZARA_API NzShaderProgram : public NzResource, NzNonCopyable
|
||||
{
|
||||
friend class NzRenderer;
|
||||
|
||||
public:
|
||||
NzShader();
|
||||
NzShader(nzShaderLanguage language);
|
||||
NzShader(NzShader&& shader);
|
||||
~NzShader();
|
||||
NzShaderProgram();
|
||||
NzShaderProgram(nzShaderLanguage language);
|
||||
NzShaderProgram(NzShaderProgram&& shader);
|
||||
~NzShaderProgram();
|
||||
|
||||
bool Create(nzShaderLanguage language);
|
||||
bool Compile();
|
||||
@@ -58,8 +58,8 @@ class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
||||
bool IsLoaded(nzShaderType type) const;
|
||||
bool IsValid() const;
|
||||
|
||||
bool Load(nzShaderType type, const NzString& source);
|
||||
bool LoadFromFile(nzShaderType type, const NzString& source);
|
||||
bool LoadShader(nzShaderType type, const NzString& source);
|
||||
bool LoadShaderFromFile(nzShaderType type, const NzString& source);
|
||||
|
||||
bool SendBoolean(int location, bool value) const;
|
||||
bool SendColor(int location, const NzColor& color) const;
|
||||
@@ -78,15 +78,15 @@ class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
||||
|
||||
void SetFlags(nzUInt32 flags);
|
||||
|
||||
NzShader& operator=(NzShader&& shader);
|
||||
NzShaderProgram& operator=(NzShaderProgram&& shader);
|
||||
|
||||
static bool IsLanguageSupported(nzShaderLanguage language);
|
||||
static bool IsTypeSupported(nzShaderType type);
|
||||
static bool IsShaderTypeSupported(nzShaderType type);
|
||||
|
||||
private:
|
||||
nzUInt32 m_flags;
|
||||
NzAbstractShader* m_impl;
|
||||
NzAbstractShaderProgram* m_impl;
|
||||
bool m_compiled;
|
||||
};
|
||||
|
||||
#endif // NAZARA_SHADER_HPP
|
||||
#endif // NAZARA_SHADERPROGRAM_HPP
|
||||
33
include/Nazara/Renderer/ShaderProgramManager.hpp
Normal file
33
include/Nazara/Renderer/ShaderProgramManager.hpp
Normal file
@@ -0,0 +1,33 @@
|
||||
// Copyright (C) 2013 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_SHADERPROGRAMMANAGER_HPP
|
||||
#define NAZARA_SHADERPROGRAMMANAGER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgram.hpp>
|
||||
#include <Nazara/Renderer/ShaderProgramManagerParams.hpp>
|
||||
|
||||
class NAZARA_API NzShaderProgramManager
|
||||
{
|
||||
friend class NzRenderer;
|
||||
|
||||
public:
|
||||
NzShaderProgramManager() = delete;
|
||||
~NzShaderProgramManager() = delete;
|
||||
|
||||
static const NzShaderProgram* Get(const NzShaderProgramManagerParams& params);
|
||||
|
||||
private:
|
||||
static NzString BuildFragmentCode(const NzShaderProgramManagerParams& params);
|
||||
static NzString BuildVertexCode(const NzShaderProgramManagerParams& params);
|
||||
static NzShaderProgram* GenerateProgram(const NzShaderProgramManagerParams& params);
|
||||
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
};
|
||||
|
||||
#endif // NAZARA_SHADERPROGRAMMANAGER_HPP
|
||||
@@ -4,12 +4,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_SHADERMANAGERPARAMS_HPP
|
||||
#define NAZARA_SHADERMANAGERPARAMS_HPP
|
||||
#ifndef NAZARA_SHADERPROGRAMMANAGERPARAMS_HPP
|
||||
#define NAZARA_SHADERPROGRAMMANAGERPARAMS_HPP
|
||||
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
|
||||
struct NzShaderManagerParams
|
||||
struct NzShaderProgramManagerParams
|
||||
{
|
||||
struct FullscreenQuad
|
||||
{
|
||||
@@ -40,4 +40,4 @@ struct NzShaderManagerParams
|
||||
};
|
||||
};
|
||||
|
||||
#endif // NAZARA_SHADERMANAGERPARAMS_HPP
|
||||
#endif // NAZARA_SHADERPROGRAMMANAGERPARAMS_HPP
|
||||
@@ -27,7 +27,6 @@ struct NzTextureImpl;
|
||||
class NAZARA_API NzTexture : public NzResource, NzNonCopyable
|
||||
{
|
||||
friend NzRenderTexture;
|
||||
friend class NzShader;
|
||||
|
||||
public:
|
||||
NzTexture() = default;
|
||||
|
||||
Reference in New Issue
Block a user