WIP
This commit is contained in:
@@ -89,6 +89,7 @@
|
|||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="main.cpp" />
|
<ClCompile Include="main.cpp" />
|
||||||
|
<ClCompile Include="Model.cpp" />
|
||||||
<ClCompile Include="Renderer\Renderer.cpp" />
|
<ClCompile Include="Renderer\Renderer.cpp" />
|
||||||
<ClCompile Include="Systems\CollisionSystem.cpp" />
|
<ClCompile Include="Systems\CollisionSystem.cpp" />
|
||||||
<ClCompile Include="Systems\InputSystem.cpp" />
|
<ClCompile Include="Systems\InputSystem.cpp" />
|
||||||
@@ -105,6 +106,7 @@
|
|||||||
<ClInclude Include="Entity.h" />
|
<ClInclude Include="Entity.h" />
|
||||||
<ClInclude Include="logging.h" />
|
<ClInclude Include="logging.h" />
|
||||||
<ClInclude Include="glerror.h" />
|
<ClInclude Include="glerror.h" />
|
||||||
|
<ClInclude Include="Model.h" />
|
||||||
<ClInclude Include="Renderer\Renderer.h" />
|
<ClInclude Include="Renderer\Renderer.h" />
|
||||||
<ClInclude Include="Systems\CollisionSystem.h" />
|
<ClInclude Include="Systems\CollisionSystem.h" />
|
||||||
<ClInclude Include="Systems\InputSystem.h" />
|
<ClInclude Include="Systems\InputSystem.h" />
|
||||||
|
|||||||
@@ -60,6 +60,9 @@
|
|||||||
<ClCompile Include="Renderer\Renderer.cpp">
|
<ClCompile Include="Renderer\Renderer.cpp">
|
||||||
<Filter>Source Files\Renderer</Filter>
|
<Filter>Source Files\Renderer</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Model.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="glerror.h">
|
<ClInclude Include="glerror.h">
|
||||||
@@ -107,6 +110,9 @@
|
|||||||
<ClInclude Include="Renderer\Renderer.h">
|
<ClInclude Include="Renderer\Renderer.h">
|
||||||
<Filter>Header Files\Renderer</Filter>
|
<Filter>Header Files\Renderer</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Model.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Shaders\Fragment.glsl">
|
<None Include="Shaders\Fragment.glsl">
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
#include "Model.h"
|
||||||
|
|
||||||
|
|
||||||
|
Model::Model()
|
||||||
|
{
|
||||||
|
temp_CreateModelShit();
|
||||||
|
CreateBuffers();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Model::temp_CreateModelShit()
|
||||||
|
{
|
||||||
|
Vertices.push_back(0.0f);
|
||||||
|
Vertices.push_back(0.0f);
|
||||||
|
Vertices.push_back(2.0f);
|
||||||
|
|
||||||
|
Vertices.push_back(0.0f);
|
||||||
|
Vertices.push_back(1.0f);
|
||||||
|
Vertices.push_back(2.0f);
|
||||||
|
|
||||||
|
Vertices.push_back(1.0f);
|
||||||
|
Vertices.push_back(0.0f);
|
||||||
|
Vertices.push_back(2.0f);
|
||||||
|
|
||||||
|
Normals.push_back();
|
||||||
|
Normals.push_back();
|
||||||
|
Normals.push_back();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Model::CreateBuffers( std::vector<float> _Vertices, std::vector<float> _Normals, std::vector<float> _TextureCoords )
|
||||||
|
{
|
||||||
|
glGenBuffers(1, &VertBuffer);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, VertBuffer);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, Vertices.size()*sizeof(float), Vertices.data, GL_STATIC_DRAW);
|
||||||
|
GLERROR("GLEW: BufferFail1");
|
||||||
|
|
||||||
|
glGenBuffers(1, &NormalBuffer);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, NormalBuffer);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, Normals.size()*sizeof(float), Normals.data, GL_STATIC_DRAW);
|
||||||
|
GLERROR("GLEW: BufferFail2");
|
||||||
|
|
||||||
|
glGenBuffers(1, &TextureCoordBuffer);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, TextureCoords.size()*sizeof(float), TextureCoords.data, GL_STATIC_DRAW);
|
||||||
|
GLERROR("GLEW: BufferFail3");
|
||||||
|
|
||||||
|
glGenVertexArrays(1, &VAO);
|
||||||
|
glBindVertexArray(VAO);
|
||||||
|
GLERROR("GLEW: BufferFail4");
|
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, VertBuffer);
|
||||||
|
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
|
||||||
|
GLERROR("GLEW: BufferFail5");
|
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, NormalBuffer);
|
||||||
|
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, 0);
|
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer);
|
||||||
|
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 0, 0);
|
||||||
|
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glEnableVertexAttribArray(1);
|
||||||
|
glEnableVertexAttribArray(2);
|
||||||
|
GLERROR("GLEW: BufferFail5");
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
#include <GL/glew.h>
|
||||||
|
#define GLFW_INCLUDE_GLU
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
#include <glext.h>
|
||||||
|
#define GLM_FORCE_RADIANS
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include <glm/gtc/constants.hpp>
|
||||||
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
|
#include <glm/gtc/type_ptr.hpp>
|
||||||
|
|
||||||
|
#include "glerror.h"
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
|
class Model
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
glm::vec3 Position;
|
||||||
|
std::vector<float> Vertices;
|
||||||
|
std::vector<float> Normals;
|
||||||
|
std::vector<float> TextureCoords;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GLuint VertBuffer;
|
||||||
|
GLuint NormalBuffer;
|
||||||
|
GLuint TextureCoordBuffer;
|
||||||
|
GLuint VAO;
|
||||||
|
|
||||||
|
Model();
|
||||||
|
|
||||||
|
void temp_CreateModelShit();
|
||||||
|
void CreateBuffers(std::vector<float>, std::vector<float>, std::vector<float>);
|
||||||
|
|
||||||
|
};
|
||||||
@@ -5,6 +5,29 @@ Renderer::Renderer()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Renderer::Draw()
|
||||||
|
{
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
glClearColor(1.0f, 1.0f, 0.0f, 1.0f);
|
||||||
|
|
||||||
|
glUseProgram(shaderProgram);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::DrawText()
|
||||||
|
{
|
||||||
|
//DrawShitInTextForm
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::AddTextToDraw()
|
||||||
|
{
|
||||||
|
//Add to draw shit vector
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::AddObjectToDraw()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//Fixa med shaders, lägga in alla verts osv.
|
//Fixa med shaders, lägga in alla verts osv.
|
||||||
|
|
||||||
|
|
||||||
@@ -53,3 +76,4 @@ GLuint Renderer::CompileShader(GLenum shaderType, std::string fileName)
|
|||||||
return shader;
|
return shader;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,12 +24,16 @@ public:
|
|||||||
GLuint shaderProgram;
|
GLuint shaderProgram;
|
||||||
GLuint VAO;
|
GLuint VAO;
|
||||||
|
|
||||||
|
std::vector<std::vector<float>> Vertices;
|
||||||
|
std::vector<std::vector<float>> Normals;
|
||||||
|
std::vector<std::vector<float>> TextureCoords;
|
||||||
|
|
||||||
Renderer();
|
Renderer();
|
||||||
|
|
||||||
void Draw();
|
void Draw();
|
||||||
void DrawText();
|
void DrawText();
|
||||||
|
|
||||||
void AddObjectToDraw();
|
void AddObjectToDraw(std::vector<float>, std::vector<float>, std::vector<float>);
|
||||||
void AddTextToDraw();
|
void AddTextToDraw();
|
||||||
|
|
||||||
GLuint CompileShader(GLenum, std::string);
|
GLuint CompileShader(GLenum, std::string);
|
||||||
|
|||||||
Reference in New Issue
Block a user