最好的OpenGL教程(一)简介与环境搭建测试

reference:

learningopengl
视频参考b站

GLFW相关函数操作参考如下;
GLFW 基础操作

本文并没有介绍GLAD,想要下载配置参考:链接

1.什么是openGL

一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。

OpenGL Logo

OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(译注:这里开发者是指编写OpenGL库的人)。因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不会感受到功能上的差异)

1.1 总结:opengl不是framework,不是library or engine 它只是一个Specification,它规定了API要干什么,但是没有具体实现,实现由显卡制造商完成。它并不开源(显卡制造商会好心开放源码?),不要被open误导。

1.2 牛在何处 (跨平台? >directX)

注意跨平台看似nb,实际上它的代码会劣于专门平台的api如directx(毕竟亲爸爸为儿子开发)

1.3 为什么学习

vulcan还很原始不稳定,openGL是你最容易学习的图像驱动,因为跨平台,也适合你将成果分享给各个平台,对于学生党而言,你一般没有资源去专门开发另一平台版本。

2.let’s start

2.1 Creating a window

2.11 首先下载GLFW库

windows下请下载32位,64位会有奇怪的问题,方便起见直接下win32,源码版本你还需要编译才能使用。

2.2 example(GLFW官网示例代码,建议手打)

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;    /*建立窗口实例*/

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

当然会报错,你还没导入库

2.2.2 GLFW配置

项目目录下新建一个Dependencies文件

在这里插入图片描述
我们需要如下两个文件
在这里插入图片描述
删除lib文件中的dill,我们不需要它
在这里插入图片描述
将GLWF文件放在Dependencies文件夹里

在这里插入图片描述
在这里插入图片描述
调整项目属性平台设为win32

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应用设置后报错消失

Linker配置类似如图
在这里插入图片描述
在这里插入图片描述

上述操作使得我们链接到了glfw3.lib
在这里插入图片描述

2.3 build

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

学会用百度搜索相关错误
在这里插入图片描述
查找添加相关库后如图

在这里插入图片描述
生成成功!
在这里插入图片描述

ps:这是b站视频为了展示linker步骤,实际不需要修改附加依赖项,原本默认基本全有

2.4 修改代码画个三角

在这里插入图片描述

#include<glad/glad.h>   //必须放在最前面  它已经包含正确的OpenGL文件  放后面会导致重复定义
#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);  /*画个三角*/
        glVertex2f(-0.5f, -0.5f);    /*顶点位置*/
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();
        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

运行结果

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装OpenGL OpenGL是一个图形库,需要安装才能使用。安装OpenGL的方法因操作系统而异,以下是Windows和macOS的安装方法: Windows:下载并安装Mingw-w64,选择64位版本并包含OpenGL支持。下载链接:https://sourceforge.net/projects/mingw-w64/ macOS:在终端中使用Homebrew安装OpenGL。打开终端并输入以下命令: brew install glew brew install glfw3 2. 安装IDE 编写OpenGL程序需要一个集成开发环境(IDE),可以选择以下其中一个: Visual Studio:适用于Windows系统,可从Microsoft官网下载并安装。下载链接:https://visualstudio.microsoft.com/downloads/ Xcode:适用于macOS系统,可从App Store下载并安装。 3. 配置IDE 无论是Visual Studio还是Xcode,都需要配置才能使用OpenGL。以下是配置步骤: Visual Studio: 1) 创建一个Win32控制台应用程序项目。 2) 在项目属性中选择“配置属性”->“VC++目录”,将“包含目录”和“库目录”设置为OpenGL的安装路径。例如,如果OpenGL安装在C:\OpenGL,则包含目录应该为C:\OpenGL\include,库目录应该为C:\OpenGL\lib。 3) 在项目属性中选择“配置属性”->“链接器”->“输入”,将“附加依赖项”设置为opengl32.lib;glu32.lib;glew32.lib。 4) 在代码中包含OpenGL头文件和库文件。例如: #include <GL/gl.h> #include <GL/glu.h> #include <GL/glew.h> #pragma comment(lib, "opengl32.lib") #pragma comment(lib, "glu32.lib") #pragma comment(lib, "glew32.lib") Xcode: 1) 创建一个C++命令行工具项目。 2) 在“Build Settings”中,将“Header Search Paths”设置为OpenGL的安装路径。例如,如果OpenGL安装在/usr/local/include,则“Header Search Paths”应该为/usr/local/include。 3) 在“Build Settings”中,将“Library Search Paths”设置为OpenGL的安装路径。例如,如果OpenGL安装在/usr/local/lib,则“Library Search Paths”应该为/usr/local/lib。 4) 在“Build Phases”中,展开“Link Binary With Libraries”,添加以下库文件:OpenGL.framework、GLUT.framework、GLEW.framework。 5) 在代码中包含OpenGL头文件和库文件。例如: #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <GLUT/glut.h> #include <GLEW/glew.h> 注意:在macOS上,OpenGL和GLU库已经被包含在OpenGL.framework中,无需单独添加。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值