mirror of
https://github.com/kuhyx/engineer-thesis-WUT.git
synced 2026-07-06 09:03:03 +02:00
30 lines
1.9 KiB
C++
30 lines
1.9 KiB
C++
// "Copyright [2023] <Krzysztof Rudnicki>"
|
|
#ifndef DRAW_HPP
|
|
#define DRAW_HPP
|
|
#include <glad/glad.h>
|
|
#include <GLFW/glfw3.h>
|
|
#include <string>
|
|
#include "constants.hpp"
|
|
|
|
struct offsetsStruct {
|
|
offsetsStruct(): xOffset(0), yOffset(0), zOffset(0) { }
|
|
float xOffset, yOffset, zOffset;
|
|
};
|
|
|
|
struct drawFigureReturn {
|
|
drawFigureReturn(): success(-1), VAO(0), VBO(0), EBO(0){ }
|
|
int success;
|
|
unsigned int VAO;
|
|
unsigned int VBO;
|
|
unsigned int EBO;
|
|
};
|
|
|
|
drawFigureReturn drawFigure(const int whatToDraw);
|
|
drawFigureReturn drawSquare(const float squareVertices[] = constants::SQUARE_VERTICES, const size_t squareVerticesSize = constants::SQUARE_VERTICES_SIZE, const unsigned int squareIndices[] = constants::SQUARE_INDICES, const size_t squareIndicesSize = constants::SQUARE_INDICES_SIZE, const char* vertexShaderSource = constants::VERTEX_SHADER_SOURCE, const char* fragmentShaderSource = constants::FRAGMENT_SHADER_SOURCE, const bool colorIncluded = false, const bool textureIncluded = false, const offsetsStruct offsets = offsetsStruct());
|
|
void doDrawElements(const unsigned int shaderProgram, const unsigned int vertexArrayObject, const GLenum drawArrayMode, const GLenum drawType, const int numberOfElementsToDraw);
|
|
drawFigureReturn drawTriangleClass(const float triangleVertices[], const size_t triangleVerticesSize, const char* vertexPath, const char* fragmentPath, const bool colorIncluded = false, const bool textureIncluded = false, const offsetsStruct offsets = offsetsStruct());
|
|
void updateUniformColor(const unsigned int shaderProgram, const GLchar* uniformName);
|
|
void doDrawArrays(const unsigned int shaderProgram, const unsigned int vertexArrayObject, const GLenum drawArrayMode, const int firstIndex, const unsigned int numberOfIndicesToBeRendered );
|
|
drawFigureReturn drawDebilMode(const char* vertexPath, const char* fragmentPath, const float vertices[], const size_t verticesSize, const unsigned int indices[], const size_t indicesSize);
|
|
|
|
#endif |