Improved shader definition loader

This commit is contained in:
2022-04-30 22:51:50 +02:00
parent f547ff1b8f
commit f5c680ba3e
7 changed files with 65 additions and 43 deletions

View File

@ -8,8 +8,6 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha
char* vertexCode = readFile(vertexShaderPath.c_str());
unsigned int vertId = glCreateShader(GL_VERTEX_SHADER);
spdlog::info(vertexCode);
glShaderSource(vertId, 1, &vertexCode, NULL);
glCompileShader(vertId);
@ -53,8 +51,8 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha
}
delete[] vertexCode;
delete[] fragmentCode;
delete vertexCode;
delete fragmentCode;
}
@ -80,24 +78,14 @@ char* Shader::readFile (const char* filePath){
// Create a big enough buffer for the file
//calculate buffer size to prevent memory issues
size_t ChunksInBuffer = filesize / Shader::CHUNK_SIZE;
size_t bufferSize = (ChunksInBuffer + 1) * Shader::CHUNK_SIZE;
size_t bufferSize = filesize + 3;
char* FileBuffer = new char[bufferSize];
memset(FileBuffer, '\0', bufferSize);
size_t bytesRead= 0;
// read the whole file
while( file.eof() == false){
file.read(FileBuffer + bytesRead, CHUNK_SIZE );
bytesRead += CHUNK_SIZE;
}
FileBuffer[filesize + 1] = '\0';
file.read(FileBuffer, filesize);
return FileBuffer;
}

View File

@ -0,0 +1,10 @@
#pragma once
#include <vector>
class Mesh {
public:
std::vector<float> vertices;
std::vector<int> elements;
std::vector<float> uv;
};

View File

@ -1,5 +1,6 @@
#pragma once
#include <glad/glad.h>
#define GLFW_STATIC
#include <GLFW/glfw3.h>

View File

@ -0,0 +1,7 @@
#version 330 core
out vec4 FragColor;
void main{
FragColor = vec4(0.0f, 1.0f, 0.0f , 1.0f);
}