Files
escape-the-dawn/Escape-the-Dawn/Model.cpp
T
Tobias Dahl 40d0db4dc2 WIP
2014-03-03 20:22:47 +01:00

68 lines
1.7 KiB
C++

#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");
}