summaryrefslogtreecommitdiff
path: root/Canvas/Canvas.h
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-04-02 09:13:33 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-04-02 09:13:33 +0400
commit806a1e093eeac8b426b20717c14260c9cb896798 (patch)
tree7b6e1a01958269ce78b9716461a9fa4c05d3dc5e /Canvas/Canvas.h
parent15ccb946f43283bfc91d80ddf012d9ae2a0333ed (diff)
Removed CUDA files and changed build system to premakeremake
Diffstat (limited to 'Canvas/Canvas.h')
-rw-r--r--Canvas/Canvas.h117
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