zoukankan      html  css  js  c++  java
  • OpenGL笔记之 环境搭建

    视频:https://b23.tv/b35Ri4

    环境搭建

    资源链接

    GLFW

    https://www.glfw.org

    GLAD

    https://glad.dav1d.de/

    Windows

    代码

    #include <glad/glad.h>
    #include <GLFW/glfw3.h>
    
    #include <iostream>
    
    void framebuffer_size_callback(GLFWwindow* window, int width, int height);
    void processInput(GLFWwindow *window);
    
    const unsigned int SCR_WIDTH = 400;
    const unsigned int SCR_HEIGHT = 300;
    
    int main()
    {
        glfwInit();
        glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
        glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
        glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    
    #ifdef __APPLE__
        glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    #endif
    
        GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
        if (window == NULL)
        {
            std::cout << "Failed to create GLFW window" << std::endl;
            glfwTerminate();
            return -1;
        }
        glfwMakeContextCurrent(window);
        glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
    
        if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
        {
            std::cout << "Failed to initialize GLAD" << std::endl;
            return -1;
        }    
    
        while (!glfwWindowShouldClose(window))
        {
            processInput(window);
    
            glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
            glClear(GL_COLOR_BUFFER_BIT);
    
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
    
        glfwTerminate();
        return 0;
    }
    
    void processInput(GLFWwindow *window)
    {
        if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
            glfwSetWindowShouldClose(window, true);
    }
    
    void framebuffer_size_callback(GLFWwindow* window, int width, int height)
    {
        glViewport(0, 0, width, height);
    }
    

    编译

    path=bin
    
    main:main.cpp
    	g++ main.cpp $(path)/glfw3.dll glad.c -o $(path)/main -lopengl32
    

    Linux

    查看OpenGL版本:

    glxinfo | grep "OpenGL version"
    

    Makefile:

    path=bin
    
    main:main.cpp
    	g++ main.cpp glad.c -o $(path)/main -lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi -ldl
    
  • 相关阅读:
    tomcat启动startup.bat一闪而过
    shell简介
    hbase总结,值得一看
    hive的 安装和配置
    存储器管理
    银行家算法
    洛谷 2590 树的统计
    树链剖分 洛谷 3384
    2.3最大公约数与最小公倍数
    2.2 素数与合数
  • 原文地址:https://www.cnblogs.com/zhujiangyu/p/14280959.html
Copyright © 2011-2022 走看看