39 lines
1005 B
C++
39 lines
1005 B
C++
#ifndef ECSGAME_LINES_H
|
|
#define ECSGAME_LINES_H
|
|
|
|
#include <GLFW/glfw3.h>
|
|
#include <glad/glad.h>
|
|
#include <glm/fwd.hpp>
|
|
#include <vector>
|
|
|
|
struct Lines {
|
|
explicit Lines() {
|
|
GLfloat lineSeg[] = {
|
|
0.0f, 0.0f, 0.0f, // first vertex
|
|
2.0f, 2.0f, 2.0f // second vertex
|
|
};
|
|
|
|
glGenVertexArrays(1, &lineVAO);
|
|
glGenBuffers(1, &lineVBO);
|
|
glBindVertexArray(lineVAO);
|
|
glBindBuffer(GL_ARRAY_BUFFER, lineVBO);
|
|
glBufferData(GL_ARRAY_BUFFER, sizeof(lineSeg), &lineSeg, GL_STATIC_DRAW);
|
|
glEnableVertexAttribArray(0);
|
|
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (void *)0);
|
|
}
|
|
|
|
void render() const {
|
|
// glEnable(GL_LINE_SMOOTH);
|
|
// glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
|
|
glBindVertexArray(lineVAO);
|
|
glLineWidth(3.3f);
|
|
glDrawArrays(GL_LINES, 0, 2);
|
|
glLineWidth(1.0f);
|
|
}
|
|
|
|
private:
|
|
GLuint lineVAO, lineVBO;
|
|
};
|
|
|
|
#endif // ECSGAME_LINES_H
|