Advertisement
Guest User

Untitled

a guest
Jun 4th, 2013
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. #include <GL/glew.h>
  4. #include <GL/glfw.h>
  5.  
  6. #include "LoadShaders.h"
  7.  
  8. GLuint vertexArrayObjects[1];
  9. GLuint buffers[1];
  10. const GLuint vertexCount = 6;
  11.  
  12. void init() {
  13. //  glClearColor(0,0,0,0);
  14.    
  15.     glGenVertexArrays(1, vertexArrayObjects);
  16.     glBindVertexArray(vertexArrayObjects[0]);
  17.    
  18.     GLfloat vertices[vertexCount][2] {
  19.         {-90.0, -90.0},
  20.         { 85.0, -90.0},
  21.         {-90.0,  85.0},
  22.         { 90.0, -85.0},
  23.         { 90.0,  90.0},
  24.         {-85.0,  90.0}
  25.     };
  26.    
  27.     glGenBuffers(1, buffers);
  28.     glBindBuffer(GL_ARRAY_BUFFER, buffers[0]);
  29.     glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
  30.    
  31.     ShaderInfo shaders[] {
  32.         {GL_VERTEX_SHADER, "one.vsh"},
  33.         {GL_FRAGMENT_SHADER, "one.fsh"},
  34.         {GL_NONE, nullptr}
  35.     };
  36.    
  37.     GLuint program = LoadShaders(shaders);
  38.     glUseProgram(program);
  39.    
  40.     glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, ((char *)NULL + (0)));
  41.     glEnableVertexAttribArray(0);
  42.    
  43.    
  44. }
  45.  
  46. void display() {
  47.     glClear(GL_COLOR_BUFFER_BIT);
  48.    
  49.     glBindVertexArray(vertexArrayObjects[0]);
  50.     glDrawArrays(GL_TRIANGLES, 0, vertexCount);
  51.    
  52.     glFlush();
  53. }
  54.  
  55. int main(int argc, char * argv[])
  56. {
  57.     if(!glfwInit()) {
  58.         glfwTerminate();
  59.         std::cerr << "unable to initialize GLFW" << std::endl;
  60.         return EXIT_FAILURE;
  61.     }
  62.    
  63.     glfwOpenWindowHint(GLFW_WINDOW_NO_RESIZE, GL_TRUE);
  64.     glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 0);
  65.     glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
  66.     glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
  67.     glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
  68.     glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
  69.    
  70.     if(!glfwOpenWindow(512,512,
  71.                8,8,8,
  72.                8,24,8,
  73.                GLFW_WINDOW)) {
  74.         glfwTerminate();
  75.         std::cerr << "unable to create window" << std::endl;
  76.         return EXIT_FAILURE;
  77.     }
  78.     glfwSetWindowTitle("OpenGL Application");
  79.    
  80.     glewExperimental = true;
  81.     if(glewInit()) {
  82.         glfwTerminate();
  83.         std::cerr << "unable to initialize GLEW" << std::endl;
  84.         return EXIT_FAILURE;
  85.     }
  86.    
  87.     init();
  88.    
  89.     while (glfwGetWindowParam(GLFW_OPENED)) {
  90.         display();
  91.             glfwSwapBuffers();
  92.      }
  93.    
  94.  
  95.     glfwTerminate();
  96.     return EXIT_SUCCESS;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement