吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 692|回复: 3
收起左侧

[学习记录] OpenGL学习记录【创建初始窗口】

[复制链接]
WMeow 发表于 2023-3-16 12:03
#include <iostream>

#define GLEW_STATIC//告诉编译器使用static版本的glew
#include <GL/glew.h>
#include <GLFW/glfw3.h>//引用opengl档头
//为了配置好Opengl我一开始下载的vs2022 但是一直报错并且无法运行,恕我没有能力理解这些错误为什么会出现,我只能卸载了vs2022并重新安装了vs2019,幸运的是这次成功运行了,并且没有我无法理解的报错

int main() {

        glfwInit();//初始化
        glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//该段告诉我们想要配置什么,我们可以从中选择一个大枚举作为_glfw的备用前缀(英文不太好,只能这么理解了)
        glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//配置GLFW,一个整数,为我们的option设置一个值(所有可能的选项和对应的值都可以在GLFW'S window handling文档中列出,如果现在运行了程序并报错未定义的引用这意味着没有成功引用到glfw档头)
        glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//保证初始化代码能够工作

        //Open GLFW Window,下面创建一个窗口对象,并且包含了所有其他窗口对象所需要的窗口数据
        GLFWwindow* window = glfwCreateWindow(800, 600, "MY OPGLGL GAME", NULL, NULL);//glfwCreateWindow函数需要窗口高度和宽度分别做为前两个参数,第三个参数是设置窗口的名称
        if (window == NULL)
        {
                printf("opengl window failed.");
                glfwTerminate();
                return -1;

        }
        glfwMakeContextCurrent(window);//告诉glfw将窗口的上下文当作当前线程的主上下文(上下文是什么意思呀  我基础不太好


        //Init GLEW
        glewExperimental = true;
        if (glewInit() != GLEW_OK)
        {
                printf("Init GLEW  failed.");
                glfwTerminate();
                return -1;

        }

        glViewport(0, 0, 800, 600);//在进行渲染之前告诉OpenGL窗口的尺寸,这样OpenGL就能知道我们想要的窗口数据和坐标,我们通过glViewport函数设置这些尺寸
        while (!glfwWindowShouldClose(window))
        {
                glfwSwapBuffers(window);//双缓冲确保了屏幕不会出现闪烁错误,而且确保了实时刷新,一个缓冲区用于显示,另一个缓冲区用于渲染计算
                glfwPollEvents();

        }
        glfwTerminate();
        return 0;
//一旦我们想要推出渲染循环,我们想要正确的删除或者清理glfw‘s的资源,我们可以通过在主函数的末尾调用glfwTerminate函数来做到这一点(这个函数看起来经常被调用



}

最后运行代码,窗口正常跳出

运行成功截图

运行成功截图

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

weiya909 发表于 2023-3-16 14:01
为啥vs2022会报错,没引入库吗?
 楼主| WMeow 发表于 2023-3-16 14:27
引入了,但是它一直提示报错,步骤和vs2019一样,感觉是版本问题
 楼主| WMeow 发表于 2023-3-16 14:28
weiya909 发表于 2023-3-16 14:01
为啥vs2022会报错,没引入库吗?


引入了,但是它一直提示报错,步骤和vs2019一样,感觉是版本问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表