Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <GL/glew.h>
- #include <GL/glfw.h>
- #include "LoadShaders.h"
- GLuint vertexArrayObjects[1];
- GLuint buffers[1];
- const GLuint vertexCount = 6;
- void init() {
- // glClearColor(0,0,0,0);
- glGenVertexArrays(1, vertexArrayObjects);
- glBindVertexArray(vertexArrayObjects[0]);
- GLfloat vertices[vertexCount][2] {
- {-90.0, -90.0},
- { 85.0, -90.0},
- {-90.0, 85.0},
- { 90.0, -85.0},
- { 90.0, 90.0},
- {-85.0, 90.0}
- };
- glGenBuffers(1, buffers);
- glBindBuffer(GL_ARRAY_BUFFER, buffers[0]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
- ShaderInfo shaders[] {
- {GL_VERTEX_SHADER, "one.vsh"},
- {GL_FRAGMENT_SHADER, "one.fsh"},
- {GL_NONE, nullptr}
- };
- GLuint program = LoadShaders(shaders);
- glUseProgram(program);
- glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, ((char *)NULL + (0)));
- glEnableVertexAttribArray(0);
- }
- void display() {
- glClear(GL_COLOR_BUFFER_BIT);
- glBindVertexArray(vertexArrayObjects[0]);
- glDrawArrays(GL_TRIANGLES, 0, vertexCount);
- glFlush();
- }
- int main(int argc, char * argv[])
- {
- if(!glfwInit()) {
- glfwTerminate();
- std::cerr << "unable to initialize GLFW" << std::endl;
- return EXIT_FAILURE;
- }
- glfwOpenWindowHint(GLFW_WINDOW_NO_RESIZE, GL_TRUE);
- glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 0);
- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
- glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
- glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
- if(!glfwOpenWindow(512,512,
- 8,8,8,
- 8,24,8,
- GLFW_WINDOW)) {
- glfwTerminate();
- std::cerr << "unable to create window" << std::endl;
- return EXIT_FAILURE;
- }
- glfwSetWindowTitle("OpenGL Application");
- glewExperimental = true;
- if(glewInit()) {
- glfwTerminate();
- std::cerr << "unable to initialize GLEW" << std::endl;
- return EXIT_FAILURE;
- }
- init();
- while (glfwGetWindowParam(GLFW_OPENED)) {
- display();
- glfwSwapBuffers();
- }
- glfwTerminate();
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement