opengl安装和案例

1.什么是opengl?        

        它是一个由Khronos Group组织制定并维护的跨平台图形编程接口规范,它定义了渲染2D和3D图形的标准函数集合,允许开发者通过编程直接控制图形硬件,实现高性能的图形渲染。

2.他开源么?

        不开源,硬件厂家如英伟达和AMD 或者操作系统会根据规范来实现。会根据自己家的GPU进行优化。

        基于公开文档,允许任何人基于规范开发实现。

3.优点?

        多系统支持,可以在windows macOS Linux Android 上运行,覆盖桌面 移动和嵌入式设备,因为它的运用范围很广,所以十分值得学习。

        我的世界,他通过opengl实现跨平台渲染。

        硬件无关。开发者无需更具不同的GPU编写代码,可以保证同一套在不同显卡上表现一直。驱动层会自动处理硬件差异。

        相比如微软的DirectX,他更具有跨平台性。在游戏领域和科学领域应用更广

        opengl作为低级API,允许开发者精细控制渲染管线,实现高性能渲染和自定义光照阴影。

4.开发支持?

        GL:核心函数

        GLU:实用工具

        GLFW/GLUT:跨平台窗口管理

        GLAD/GLEW:扩展函数

        所以我们在学习时,用GLFW和GLAD比较多。

5.下载安装

https://www.glfw.org/download.html

官方地址下载安装。

核心引用文件

6.添加引用

复制核心文件库到项目文件目录下,

属性中设置两处

$(SolutionDir)Depandec\include

$(SolutionDir)Depandec\lib-vc2022

相对路径方便项目打包别人直接运行

附加依赖项添加

glfw3.lib;opengl32.lib;User32.lib;Gdi32.lib;Shell32.lib

7.案例代码

#include <iostream>
#include <GLFW/glfw3.h>

int main() {
    GLFWwindow* window;

    if (!glfwInit())
        return -1;

    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    while (!glfwWindowShouldClose(window))
    {
        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f,-0.5f);
        glVertex2f(0.0f,0.5f);
        glVertex2f(0.5f,-0.5f);
        glEnd();

        glfwSwapBuffers(window);

        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

运行效果

8.问题解决

大部分情况下会出现引用报错、库连接失败 无法打开等问题。

仔细对照图片进行设置,检查路径和对应平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值