Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <GL\glew.h>
- #include <GLFW\glfw3.h>
- int main(int argc, char** argv) {
- if (!glfwInit()) { //Init GLFW
- fprintf(stderr, "GLFW failed to init.");
- return -1;
- }
- glfwWindowHint(GLFW_SAMPLES, 4);
- glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
- glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
- glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
- GLFWwindow* window;
- window = glfwCreateWindow(640, 480, "3D Game", NULL, NULL);
- if (!window) {
- fprintf(stderr, "Failed to create window.");
- glfwTerminate();
- return -1;
- }
- glfwMakeContextCurrent(window);
- glewExperimental = true;
- if (glewInit() != GLEW_OK) {
- fprintf(stderr, "GLEW failed to init.");
- glfwTerminate();
- return -1;
- }
- GLuint vaoID;
- glGenVertexArrays(1, &vaoID);
- glBindVertexArray(vaoID);
- static const GLfloat verts[] = {
- //X, Y, Z
- -1.0f, -1.0f, 0.0f,
- 1.0f, -1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f
- };
- GLuint vboID;
- glGenBuffers(1, &vboID);
- glBindBuffer(GL_ARRAY_BUFFER, vboID);
- glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_STATIC_DRAW);
- while (!glfwWindowShouldClose(window)) {
- glEnableVertexAttribArray(0);
- glBindBuffer(GL_ARRAY_BUFFER, vboID);
- glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0);
- glDrawArrays(GL_TRIANGLES, 0, 3);
- glDisableVertexAttribArray(0);
- glfwSwapBuffers(window);
- glfwPollEvents();
- }
- glfwTerminate(); //Terminate GLFW.
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment