Abstracted away the creation of buffers
Added a transform Updated the TODO.md Updated default shaders to include the apropriate three 4x4 matrices to render in 3D
This commit is contained in:
47
MyGraphicsEngine/Buffer.cpp
Normal file
47
MyGraphicsEngine/Buffer.cpp
Normal file
@ -0,0 +1,47 @@
|
||||
#include <MyGraphicsEngine/Buffer.h>
|
||||
|
||||
|
||||
int Buffer::getBufferID() {
|
||||
return id;
|
||||
}
|
||||
|
||||
void Buffer::createBuffer() {
|
||||
glGenBuffers(1, (GLuint*) &id);
|
||||
}
|
||||
|
||||
void Buffer::setBufferData(void* data, size_t dataSize, bool elementBuffer = false ) {
|
||||
|
||||
if (elementBuffer) {
|
||||
glBufferData(GL_ELEMENT_ARRAY_BUFFER, dataSize, data, GL_STATIC_DRAW);
|
||||
|
||||
}
|
||||
else {
|
||||
glBufferData(GL_ARRAY_BUFFER, dataSize, data, GL_STATIC_DRAW);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Buffer::Bind(bool elementBuffer = false ) {
|
||||
if (elementBuffer) {
|
||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id);
|
||||
|
||||
}
|
||||
else {
|
||||
glBindBuffer(GL_ARRAY_BUFFER, id);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Buffer::Unbind(bool elementBuffer = false) {
|
||||
if (elementBuffer) {
|
||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
|
||||
}
|
||||
else {
|
||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Buffer::Delete() {
|
||||
glDeleteBuffers(1, (GLuint*) &id);
|
||||
}
|
19
MyGraphicsEngine/include/MyGraphicsEngine/Buffer.h
Normal file
19
MyGraphicsEngine/include/MyGraphicsEngine/Buffer.h
Normal file
@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
#include <glad/glad.h>
|
||||
class Buffer {
|
||||
private:
|
||||
unsigned int id;
|
||||
public:
|
||||
|
||||
int getBufferID();
|
||||
|
||||
void createBuffer();
|
||||
|
||||
void setBufferData(void* data, size_t dataSize, bool elementBuffer );
|
||||
|
||||
void Bind(bool elementBuffer);
|
||||
void Unbind(bool elementBuffer);
|
||||
|
||||
void Delete();
|
||||
|
||||
};
|
8
MyGraphicsEngine/include/MyGraphicsEngine/Transform.h
Normal file
8
MyGraphicsEngine/include/MyGraphicsEngine/Transform.h
Normal file
@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
struct Transform {
|
||||
glm::vec3 Position;
|
||||
glm::vec3 Rotation;
|
||||
glm::vec3 Scale;
|
||||
};
|
@ -1,7 +1,7 @@
|
||||
#version 330 core
|
||||
#version 440 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
void main{
|
||||
void main(){
|
||||
FragColor = vec4(0.0f, 1.0f, 0.0f , 1.0f);
|
||||
}
|
@ -1,6 +1,10 @@
|
||||
#version 330 core
|
||||
layout in vec3 aPos;
|
||||
#version 440 core
|
||||
in layout(location=0) vec3 aPos;
|
||||
uniform mat4 M;
|
||||
uniform mat4 V;
|
||||
uniform mat4 P;
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);
|
||||
gl_Position = P * V * M * vec4(aPos.x, aPos.y, aPos.z, 1.0);
|
||||
}
|
Reference in New Issue
Block a user