OpenGL红宝书第九版环境配置
OpenGL红宝书第九版环境配置(VS2017)
对于很多想要学OpenGL的人来说,环境配置一直是一个大问题,笔者就是其中之一。虽然网络上有许多教程,但是由于不同的教程使用的库并不同,利用这些教程配置的环境往往连红宝书的第一个例子都运行不了。因此,在此介绍一下如何不利用CMake进行环境配置。
第一步:下载全部包含文件和库
因为红宝书第九版的配套文件中有缺失,所以直接使用经常会造成问题,所以笔者上传了修改填充好的资源以供大家下载:
https://download.csdn.net/download/qq_42778704/10823423
第二步:修改包含目录
1、新建一个空项目
2、右键右侧解决方案资源管理器中的Project1,点击属性
3、添加包含目录
点击VC++目录,把之前下载的压缩包解压,然后添加进包含目录
(配置和平台根据自己的需要选择)
4、添加库目录
5、添加附加依赖项
点击链接器->常规->附加依赖项
6、测试
这样OpenGL的环境就配置完毕了,我们可以运行一下第九版的第一个例子进行一下测试,下面是完整代码:
#include<iostream>
#include<vgl.h>
#include<LoadShaders.h>
using namespace std;enum VAO_IDs{ Triangles , NumVAOs };
enum Buffer_IDs{ ArrayBuffer , Numbuffers };
enum Attrib_IDs{ vPosition=0 };GLuint VAOs[NumVAOs];
GLuint Buffers[Numbuffers];const GLuint NumVertices = 6;void init(void) {static const GLfloat vertices[NumVertices][2] ={{ -0.90 , -0.90 }, //Triangle 1{ -0.90 , -0.90 },{ -0.90 , 0.85 },{ 0.90 , -0.85 }, //Triangle 2{ 0.90 , 0.90 },{ -0.85 , 0.90 }};glCreateBuffers(Numbuffers, Buffers);glNamedBufferStorage(Buffers[ArrayBuffer], sizeof(vertices), vertices, 0);ShaderInfo shaders[] = {{GL_VERTEX_SHADER,"triangles.vert"},{GL_FRAGMENT_SHADER,"triangles.frag"},{GL_NONE,NULL}};GLuint program = LoadShaders(shaders);glUseProgram(program);glGenVertexArrays(NumVAOs, VAOs);glBindVertexArray(VAOs[Triangles]);glBindBuffer(GL_ARRAY_BUFFER, Buffers[ArrayBuffer]);glVertexAttribPointer(vPosition, 2, GL_FLOAT,GL_FALSE, 0, BUFFER_OFFSET(0));glEnableVertexAttribArray(vPosition);}void display(void) {static const float black[] = { 0.0f,0.0f,0.0f,0.0f };glClearBufferfv(GL_COLOR, 0, black);glBindVertexArray(VAOs[Triangles]);glDrawArrays(GL_TRIANGLES, 0, NumVertices);
}int main(int argc, char** argv) {glfwInit();GLFWwindow* window = glfwCreateWindow(640, 480, "Triangles", NULL, NULL);glfwMakeContextCurrent(window);gl3wInit();init();while (!glfwWindowShouldClose(window)) {display();glfwSwapBuffers(window);glfwPollEvents();}glfwDestroyWindow(window);glfwTerminate();
}
F5运行测试:
可以看到示例代码正常运行,恭喜环境配置完毕。
最后
这里的环境只适用于当前的工程,如何一次性为所有工程配置好环境,笔者暂时也没有思路,希望有人能够进行补充。
因为也是刚刚开始学习OpenGL,难免有些疏漏,希望这篇博客能够帮助到其他准备根据OpenGL红宝书开始学习的初学者,欢迎提出各种各种意见与建议,希望能一起讨论提高。
谢谢
OpenGL红宝书第九版环境配置相关推荐
- 关于在vs2013中配置opengl红宝书第八版环境
转自 http://blog.csdn.net/qq821869798/article/details/45247241 本人刚开始学习opengl,买了一本opengl红宝书第八版, 第一个例子研究 ...
- OpenGL红宝书的部分学习记录
我看的OpenGL红宝书为: <OpenGL编程指南>-- 原书第9版 OpenGL Programming Guide – The Official Guide to Learning ...
- OpenGL红宝书:第一个渲染程序Triangles常见问题归总
OpenGL红宝书第八版从shader开始讲起,其实渲染对大多数人来说都是充满吸引力的,但是程序写起来确实比较麻烦,书上面第一示例程序零零散散也弄了好几天.这里写个博客汇总一下,我觉得对所有初学者都有 ...
- OpenGL红宝书正序解读(一)
OpenGL红宝书正序解读(一) 第一章:OpenGL简介 第二章:状态管理和绘制几何物体 绘图工具箱 清除窗口 指定颜色 强制完成绘图操作 坐标系统工具箱 描述点.直线.多边形 什么是点.直线.多边 ...
- VS2012通过makefile编译OpenGL红宝书的示例代码
通过创建新VC项目,然后设置一堆属性,对于懒人来说还是太复杂了.既然它自带了makefile,可以尝试下使用nmake. 需要注意的是VS2012的安装目录里面已经没有GL的头文件和库文件.这个改动应 ...
- 游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总
游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总 声明:未经作者允许,严禁商用,转载请标明出处和来源,谢谢 转载自:https://www.cnblo ...
- 用最简单的方法配置运行OpenGL红宝书第9版源码示例
笔者真是苦逼啊,之前花了很多时间去学习"基于OpenGL的图形学"的开头部分,包括书本和老师的PPT.但是到自己尝试编译运行示例代码的时候真是困难重重.而且!在自己胡乱摸爬滚打终于 ...
- Mac上OpenGL红宝书例程环境适配
参考:OpenGL编程指南第8版(红宝书) 参考:https://github.com/badousuan/openGLredBook9th (Owed by: 春夜喜雨 http://blog.cs ...
- OpenGL红宝书8th第一个例子triangles
年初用Qt涉及过OpenGL,当时只根据Qt自给的库使用,按照Qt给的例子没有出现啥问题,但是最近接触计算机图形学,尝试编译红宝书8th(<OpenGL编程指南>(原书第8版)中文版)第一 ...
最新文章
- 多店铺多用户商城可以用来干嘛?适合什么样的商业模式?
- Java 常见异常种类
- 用VS2005开发Sharepoint工作流,出现此安装不支持该项目类型。的处理
- Dynamic LAN-to-LAN ××× 之 Router-to-Router
- HDU - 6635 Nonsense Time (暴力LIS)
- 【iCore3 双核心板_FPGA】例程五:Signal Tapll实验——逻辑分析仪
- servletcontext 使用解析
- java验证身份证号码是否有效源代码
- springboot security 权限不足_springBoot整合springSecurity(零一)
- python中最难的是什么_python什么的最难了
- windows网络版象棋的实现
- 无可奈何花落去,数据丢失时时来;何当共谈完整性,却话巴山夜雨时----详解SQL Server 数据库库完整性检查和置疑修复
- Spring Boot 核心原理与源码解析-大纲
- VS中,一个头文件使用另外一个头文件的静态变量,要谨慎
- 嵌入式开发培训学哪些?嵌入式培训课程好学吗
- 服务器抓不到mrcp信息,启动百度Mrcp服务器出错 错误码: 323
- 中国地图及各省市县地图json下载地址
- EasyExcel自定义复杂的表头并在同sheet中实现分页
- java IO编程详解
- 第三方微信+支付宝个人免签支付源码