diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-02 09:13:33 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-02 09:13:33 +0400 |
| commit | 806a1e093eeac8b426b20717c14260c9cb896798 (patch) | |
| tree | 7b6e1a01958269ce78b9716461a9fa4c05d3dc5e /Canvas/Canvas.h | |
| parent | 15ccb946f43283bfc91d80ddf012d9ae2a0333ed (diff) | |
Removed CUDA files and changed build system to premakeremake
Diffstat (limited to 'Canvas/Canvas.h')
| -rw-r--r-- | Canvas/Canvas.h | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/Canvas/Canvas.h b/Canvas/Canvas.h deleted file mode 100644 index 84dbe56..0000000 --- a/Canvas/Canvas.h +++ /dev/null @@ -1,117 +0,0 @@ -// -// Created by saintruler on 04.05.19. -// - -#ifndef OPENGLTEST_CANVAS_H -#define OPENGLTEST_CANVAS_H - -#include <glad/glad.h> -#include <GLFW/glfw3.h> - -#include <iostream> - -struct Color -{ - unsigned int r = 0, g = 0, b = 0; -}; - -class Canvas -{ -public: - Canvas(int width, int height) - { -// vertices = { -// // positions // colors // texture coords -// 1.f, 1.f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, // top right -// 1.f, -1.f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, // bottom right -// -1.f, -1.f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, // bottom left -// -1.f, 1.f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f // top left -// }; -// -// indices = { -// 0, 1, 3, // first triangle -// 1, 2, 3 // second triangle -// }; - - glGenVertexArrays(1, &VAO); - glGenBuffers(1, &VBO); - glGenBuffers(1, &EBO); - - glBindVertexArray(VAO); - - glBindBuffer(GL_ARRAY_BUFFER, VBO); - glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); - - // position attribute - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0); - glEnableVertexAttribArray(0); - // color attribute - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)(3 * sizeof(float))); - glEnableVertexAttribArray(1); - // texture coord attribute - glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)(6 * sizeof(float))); - glEnableVertexAttribArray(2); - - - this->width = width; - this->height = height; - - canvas = (unsigned char*) malloc(width * height * 3); - glGenTextures(1, &texture); - } - - void SetPixel(int x, int y, Color color) - { - canvas[y * width * 3 + x * 3 + 0] = color.r; - canvas[y * width * 3 + x * 3 + 1] = color.g; - canvas[y * width * 3 + x * 3 + 2] = color.b; - - UpdateTexture(); - } - - void UpdateTexture() - { - // all upcoming GL_TEXTURE_2D operations now have effect on this texture object - glBindTexture(GL_TEXTURE_2D, texture); - - // set texture wrapping to GL_REPEAT (default wrapping method) - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - // set texture filtering parameters - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, width, 0, GL_RGB, GL_UNSIGNED_BYTE, canvas); - glGenerateMipmap(GL_TEXTURE_2D); - } - - void DrawTexture() - { - glBindTexture(GL_TEXTURE_2D, texture); - // render container -// ourShader.use(); - glBindVertexArray(VAO); - glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); - } - - unsigned int* GetTexture() - { - return &(this->texture); - } - -private: - int width, height; - unsigned char* canvas; - unsigned int texture; - - unsigned int VBO, VAO, EBO; - - float* vertices; - unsigned int* indices; -}; - -#endif //OPENGLTEST_CANVAS_H |