openGL+VS2017+glfw+glew小白教程亲测有效(超详细)

参考博文:https://blog.csdn.net/weixin_40921421/article/details/80211813
学习推荐网站:https://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/02%20Creating%20a%20window/
由于实验室项目需要用到三维图形的构建,因此现学现卖的使用了opengl,万事开头难,学习一项新的技术往往最令人头疼的就是环境的搭建。我下载的文件都是二进制的,都是官网上编译好的,由于我的电脑是64位的,因此我配置的环境也是x64,需要win32的可以参考上面的老哥写的博文。
整个环境的搭建主要分为3个步骤

  • 1glfw的下载与解压
  • 2 glew的下载与解压
  • 3 vs2017配置链接库
    在开始正式的配置之间,我们在电脑的固定位置,新建两个空的文件

在这里插入图片描述

glfw

进入官网:https://www.glfw.org/download.html,选择下载对应的64位的二进制文件(可以免于cmake编制,直接使用很方便,cmake的64位的源码可能会出现一些问题)

在这里插入图片描述
下载后的文件,解压后的文件夹如下
在这里插入图片描述
将include中的GLFW移动到新建的文件夹中
在这里插入图片描述
同理将lib-vc2017中的文件全部移动到新建的libs文件夹中
在这里插入图片描述

glew

进入网站:http://glew.sourceforge.net/
在这里插入图片描述
将下载后的文件解压后得到,如下的文件夹
在这里插入图片描述
同上,将include下的GL移动到,新建的include文件夹中
在这里插入图片描述
将lib\Release\x64下的lib文件移动到新的libs文件夹下(由于配置的是64位的因此要复制x64下的库)
在这里插入图片描述

文件下的内容有

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

vs2017的配置

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

测试

源代码下载地址:https://learnopengl.com/code_viewer.php?code=getting-started/hellotriangle
直接将源代码粘贴复制到你的项目中,然后编译运行即可。

  • 编译后运行的结果为:
  • 在这里插入图片描述
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在OpenGL中绘制动态线,你可以使用OpenGL的缓冲区对象和顶点数组对象来实现。以下是一种可以实现动态线的基本方法: 1. 创建一个顶点数组对象(VAO)和一个顶点缓冲区对象(VBO)。 2. 绑定VAO和VBO,并将线的顶点数据传递给VBO。 3. 在渲染循环中,绑定VAO并调用绘制命令来渲染线。 4. 更新线的顶点数据以实现动态效果。 下面是一个简单的示例代码: ```c++ // 初始化OpenGLGLFW窗口 // ... GLuint vao, vbo; GLfloat lineVertices[] = { // 线的顶点坐标 0.0f, 0.0f, 0.0f, // 起点 1.0f, 1.0f, 0.0f // 终点 }; // 创建VAO和VBO glGenVertexArrays(1, &vao); glGenBuffers(1, &vbo); // 绑定VAO和VBO glBindVertexArray(vao); glBindBuffer(GL_ARRAY_BUFFER, vbo); // 将线的顶点数据传递给VBO glBufferData(GL_ARRAY_BUFFER, sizeof(lineVertices), lineVertices, GL_DYNAMIC_DRAW); // 设置顶点属性指针 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (void*)0); glEnableVertexAttribArray(0); // 解绑VAO和VBO glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); // 渲染循环 while (!glfwWindowShouldClose(window)) { // 清空屏幕 glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); // 绑定VAO并绘制线 glBindVertexArray(vao); glDrawArrays(GL_LINES, 0, 2); glBindVertexArray(0); // 更新线的顶点数据,实现动态效果 // ... // 交换缓冲区并处理事件 glfwSwapBuffers(window); glfwPollEvents(); } // 清理资源 glDeleteVertexArrays(1, &vao); glDeleteBuffers(1, &vbo); // 终止OpenGLGLFW // ... ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值