Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Local Headers
- #include "glitter.hpp"
- // System Headers
- #include <glad/glad.h>
- #include <GLFW/glfw3.h>
- // Standard Headers
- #include <cstdio>
- #include <cstdlib>
- int main(int argc, char * argv[]) {
- // Load GLFW and Create a Window
- glfwInit();
- glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
- glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
- glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
- glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
- glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
- auto mWindow = glfwCreateWindow(mWidth, mHeight, "OpenGL", nullptr, nullptr);
- // Check for Valid Context
- if (mWindow == nullptr) {
- fprintf(stderr, "Failed to Create OpenGL Context");
- return EXIT_FAILURE;
- }
- // Create Context and Load OpenGL Functions
- glfwMakeContextCurrent(mWindow);
- gladLoadGL();
- fprintf(stderr, "OpenGL %s\n", glGetString(GL_VERSION));
- // Rendering Loop
- while (glfwWindowShouldClose(mWindow) == false) {
- if (glfwGetKey(mWindow, GLFW_KEY_ESCAPE) == GLFW_PRESS)
- glfwSetWindowShouldClose(mWindow, true);
- // Background Fill Color
- glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
- glClear(GL_COLOR_BUFFER_BIT);
- float vertices[] = {
- 0.0f, 0.5f, // Vertex 1 (X, Y)
- 0.5f, -0.5f, // Vertex 2 (X, Y)
- -0.5f, -0.5f // Vertex 3 (X, Y)
- };
- GLuint vbo;
- glGenBuffers(1, &vbo); // Generate 1 buffer
- glBindBuffer(GL_ARRAY_BUFFER, vbo);
- glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices,
- GL_STATIC_DRAW);
- const GLchar* vShader = "#version 150\n"\
- "in vec2 position;\n"\
- "void main()\n"\
- "{\n"\
- "gl_Position = vec4(position, 0.0, 1.0);\n"\
- "}\0";
- GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
- glShaderSource(vertexShader, 1, &vShader, NULL);
- glCompileShader(vertexShader);
- const GLchar * fShader = "#version 150\n"\
- "out vec4 outColor;\n"\
- "void main()\n"\
- "{\n"\
- "outColor = vec4(1.0, 1.0, 1.0, 1.0)\n"\
- "}\0";
- GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
- glShaderSource(fragmentShader, 1, &fShader, NULL);
- glCompileShader(fragmentShader);
- GLint status;
- glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &status);
- //if (status == GL_TRUE)
- // printf("1");
- glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &status);
- printf("%d",status);
- //char buffer[512];
- //glGetShaderInfoLog(vertexShader, 512, NULL, buffer);
- //printf("%s", buffer);
- //Flip Buffers and Draw
- glfwSwapBuffers(mWindow);
- glfwPollEvents();
- } glfwTerminate();
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement