Fixed renderer shaders. Derp.
This commit is contained in:
@@ -71,7 +71,8 @@ void Renderer::AddModelToDraw(Model* _model)
|
||||
|
||||
void Renderer::LoadContent()
|
||||
{
|
||||
m_ShaderProgram->AddShader(std::unique_ptr<Shader>(new VertexShader("Shaders/Vertex.glsl")));
|
||||
m_ShaderProgram->AddShader(std::unique_ptr<Shader>(new FragmentShader("Shaders/Fragment.glsl")));
|
||||
m_ShaderProgram->Link();
|
||||
m_ShaderProgram.AddShader(std::unique_ptr<Shader>(new VertexShader("Shaders/Vertex.glsl")));
|
||||
m_ShaderProgram.AddShader(std::unique_ptr<Shader>(new FragmentShader("Shaders/Fragment.glsl")));
|
||||
m_ShaderProgram.Compile();
|
||||
m_ShaderProgram.Link();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
class Renderer
|
||||
{
|
||||
public:
|
||||
std::shared_ptr<ShaderProgram> m_ShaderProgram;
|
||||
ShaderProgram m_ShaderProgram;
|
||||
|
||||
std::vector<Model*> ModelsToRender;
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@ GLuint Shader::CompileShader(GLenum shaderType, std::string fileName)
|
||||
|
||||
std::string shaderFile;
|
||||
std::ifstream in(fileName, std::ios::in);
|
||||
if(!in)
|
||||
{
|
||||
if (!in) {
|
||||
LOG_ERROR("Error: Failed to open shader file \"%s\"", fileName.c_str());
|
||||
return 0;
|
||||
}
|
||||
@@ -31,8 +30,7 @@ GLuint Shader::CompileShader(GLenum shaderType, std::string fileName)
|
||||
|
||||
GLint compileStatus;
|
||||
glGetShaderiv(shader, GL_COMPILE_STATUS, &compileStatus);
|
||||
if(compileStatus != GL_TRUE)
|
||||
{
|
||||
if(compileStatus != GL_TRUE) {
|
||||
LOG_ERROR("Shader compilation failed");
|
||||
GLsizei infoLogLength;
|
||||
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength);
|
||||
@@ -55,7 +53,9 @@ Shader::Shader(GLenum shaderType, std::string fileName) : m_ShaderType(shaderTyp
|
||||
|
||||
Shader::~Shader()
|
||||
{
|
||||
glDeleteShader(m_ShaderHandle);
|
||||
if (m_ShaderHandle != 0) {
|
||||
glDeleteShader(m_ShaderHandle);
|
||||
}
|
||||
}
|
||||
|
||||
GLuint Shader::Compile()
|
||||
@@ -89,13 +89,6 @@ ShaderProgram::ShaderProgram()
|
||||
Initialize();
|
||||
}
|
||||
|
||||
ShaderProgram::ShaderProgram(std::string vertexShaderFile, std::string fragmentShaderFile)
|
||||
{
|
||||
AddShader(std::unique_ptr<Shader>(new VertexShader(vertexShaderFile)));
|
||||
AddShader(std::unique_ptr<Shader>(new VertexShader(fragmentShaderFile)));
|
||||
Initialize();
|
||||
}
|
||||
|
||||
ShaderProgram::~ShaderProgram()
|
||||
{
|
||||
Unbind();
|
||||
@@ -104,13 +97,16 @@ ShaderProgram::~ShaderProgram()
|
||||
|
||||
void ShaderProgram::AddShader(std::unique_ptr<Shader> shader)
|
||||
{
|
||||
if (!shader->IsCompiled()) {
|
||||
if (shader->Compile() == 0) {
|
||||
return;
|
||||
m_Shaders.push_back(std::move(shader));
|
||||
}
|
||||
|
||||
void ShaderProgram::Compile()
|
||||
{
|
||||
for (auto &shader : m_Shaders) {
|
||||
if (!shader->IsCompiled()) {
|
||||
shader->Compile();
|
||||
}
|
||||
}
|
||||
|
||||
m_Shaders.push_back(std::move(shader));
|
||||
}
|
||||
|
||||
GLuint ShaderProgram::Link()
|
||||
|
||||
@@ -71,10 +71,9 @@ public:
|
||||
ShaderProgram();
|
||||
~ShaderProgram();
|
||||
|
||||
ShaderProgram(std::string vertexShaderFile, std::string fragmentShaderFile);
|
||||
|
||||
void AddShader(std::unique_ptr<Shader> shader);
|
||||
|
||||
void Compile();
|
||||
GLuint Link();
|
||||
|
||||
void Bind();
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
#include <glext.h>
|
||||
#include <SOIL.h>
|
||||
|
||||
//#include "Renderer.h"
|
||||
|
||||
class Texture
|
||||
{
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user