Commit 1f97d4a7 authored by Martin Štourač's avatar Martin Štourač
Browse files

buffers in object

parent a843dd8a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -52,8 +52,8 @@ class Camera

    void turn(float xoffset, float yoffset);

    void setSpeed(float dt);
    void setSpeedMultiplier(float multiplier);
    void setStep(float dt);
    void setSpeed(float multiplier);

    glm::vec2 getSens();
    void setSens(float x_size, float y_size);
+8 −0
Original line number Diff line number Diff line
@@ -15,6 +15,12 @@ class Object
    std::vector<float> vertices;
    std::vector<unsigned int> indices;

    VAO _VAO;
    VBO _VBO;
    EBO _EBO;

    bool buffer_object();

public:
    Object(glm::vec3 position, std::vector<float> &_vertices, std::vector<unsigned int> &_indices);

@@ -26,6 +32,8 @@ public:

    std::vector<unsigned int>& getIndices();
    void setIndices(std::vector<unsigned int> &indices);

    VAO& getVAO();
};

#endif
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -9,9 +9,9 @@
#include <gfx/shader.hpp>
#include <gfx/render.hpp>
#include <iostream>
#include <vector>

Shader create_shader_program();
bool create_buffer(VAO &VAO, VBO &VBO, EBO &EBO);
void gfx_draw(Shader &myShader, VAO &VAO, Camera camera, Object object);
void gfx_draw(Shader &myShader, Camera camera, Object object);

#endif
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -72,11 +72,11 @@ void Camera::turn(float xoffset, float yoffset)
    setFrontVec();
}

void Camera::setSpeed(float dt)
void Camera::setStep(float dt)
{
    step = speed * dt;
}
void Camera::setSpeedMultiplier(float multiplier)
void Camera::setSpeed(float multiplier)
{
    speed = multiplier;
}
+22 −2
Original line number Diff line number Diff line
@@ -2,7 +2,25 @@
#include <vector>

Object::Object(glm::vec3 position, std::vector<float> &_vertices, std::vector<unsigned int> &_indices) :
    positionVec{position}, vertices{_vertices}, indices{_indices} {}
    positionVec{position}, vertices{_vertices}, indices{_indices} 
{
    buffer_object();
}

bool Object::buffer_object()
{
    _VAO.Bind();
    _VBO.Bind();
    _EBO.Bind();
    _VBO.SendData(getVertices());
    _EBO.SendData(getIndices());
    _VAO.LinkVBO(_VBO);
    // Either unbind all three or none, otherwise no cube
    _VAO.Unbind();
    _VBO.Unbind();
    _EBO.Unbind();
    return true;
}

glm::vec3 Object::getPosition() { return positionVec; }
void Object::setPosition(glm::vec3 new_pos) { positionVec = new_pos; }
@@ -12,3 +30,5 @@ void Object::setVertices(std::vector<float> &new_vertices) { vertices = new_vert

std::vector<unsigned int>& Object::getIndices() { return indices; }
void Object::setIndices(std::vector<unsigned int> &new_indices) { indices = new_indices; }

VAO& Object::getVAO() { return _VAO; }
 No newline at end of file
Loading