我的OpenGL的项目配置的过程

  • 摘要
  • 1 openGL项目文件概览
  • 2 启动项目后环境的配置
    • (1)打开项目的属性
    • (2) VC++目录下的配置
  • 3 场景导入
  • 4 读源码Source.cpp文件

摘要

我的用的环境是vs2017,win10系统,本文主要是介绍如何将自己的项目在别的机器上跑起来!

1 openGL项目文件概览

我的项目文件主要是下图缩食的这些文件,具体作用看我的注释,没有注释的就不用关注了;

2 启动项目后环境的配置

注意:在配置的时候一定要清楚自己使用的是vs2017的哪个解决方案配置和解决方案平台
解决方案配置:release/Debug
解决方案平台:x64/x86

我用的是release下的x64,如图所示,所以要改成这如下所示进行配置,要不然会有很多bug

(1)打开项目的属性


如图所示:

(2) VC++目录下的配置

  1. 包含目录,
    配置包含目录过程的主要的目的是包含OpenGL使用的头文件,头文件里面只有这些函数的函数定义,没有函数实现,所以必须配置第二步骤的库目录;lib文件中有相应的函数的实现;

  2. 库目录
    库目录 的配置主要是里面有OpenGL库函数的实现,
  3. 配置连接器中的输入

    将下面的这段复制到附加依赖项中,不需要opencv_world343.lib
freetype.lib
assimp.lib
SOIL.lib
glfw3.lib
opengl32.lib
freeglut.lib
glew32.lib
opencv_world343.lib

至此环境配置完毕,

3 场景导入

场景导入主要是依赖于model类,这里主要是对"modelPath.txt"文件进行根据自己的路径进行配置,

modelPath.txt文件如下:
我的是E:\code\code\twobend_0428\sponzaScene
所以第一行要改成下面这样的,但是这里要注意,要将"“改成”/",这里是getline函数的要求,要不然会读取失败;
如下:E:/code/code/twobend_0428/sponzaScene

至此场景导入成功,前期的准备工作都已经完成了,

4 读源码Source.cpp文件

source.cpp文件主要使用了OpenGL中的延迟渲染的知识
可以先学习下面这个网址延迟渲染的知识,
https://learnopengl-cn.github.io/05%20Advanced%20Lighting/08%20Deferred%20Shading/

也可以看我的另外一篇文章对延迟渲染的总结:
https://blog.csdn.net/qq_41286360/article/details/102794290

读完这两个文章后再深入读代码,.cpp文件中主要是整个代码的过程,主要研究的是顶点着色器.vert和片元着色器.frag文件中的代码,其中最重要的是.frag文件中的代码,这个是最主要的,根据编写这个片元着色器.frag从而能够实现自己的需求;

读代码的时候要耐心,一行行的读,不要跳跃式的读,把每行代码读懂,自己才可以对代码就行修改,不懂了要自己研究,问别人是怎么回事;

我的OpenGL的项目配置的过程相关推荐

  1. STM32F0xx_EXIT中断配置详细过程

    Ⅰ.概述 EXIT外部中断在使用到按键或者开关控制等应用中比较常见,低功耗中断唤醒也是很常见的一种.因此,EXIT在实际项目开发中也是比较常见的一种. STM32F0中外部中断EXIT属于中断和事件的 ...

  2. OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程

    OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程 大部分 OpenGL 是直接面向设备商的,如果开发者需要使用 Open ...

  3. laravel + Vue 前后端分离 之 项目配置- 生产环境部署

    几日之后,开始部署 生产环境, 有兴趣的同学可以先看一下laravel + Vue 前后端分离 项目配置 开发环境,好了,废话少说,开始总结 部署过程中的问题:https://blog.csdn.ne ...

  4. SourceInsight 4.0 之四 项目配置(库文件引入、配置宏添加、快捷键修改等)

    问题   在创建完成 Source Insight 工程后,我们就可以使用绝大部分功能.但是如果用的多了就会发现,其与我们真正的 IDE(通常我们仅用 Source Insight 编辑代码,实际的编 ...

  5. jenkins的安装配置,插件配置,安装插件,配置maven,jdk路径,配置安装插件,项目配置,自动构建配置

    1.下载jenkins,下载地址: https://jenkins.io/ 2.运行命令,启动jenkins 将jenkins上传到:/home/tuzq/software 安装JDK,maven ( ...

  6. maven配置junit5_JUnit 5和Selenium –改善项目配置

    maven配置junit5 Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试. Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有 ...

  7. JUnit 5和Selenium –改善项目配置

    Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试. Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有线协议(与浏览器驱动程序进行 ...

  8. VS2010项目配置详解

    首先看一下项目设置中可以使用的宏(环境变量),常用的有: ConfigurationName 配置名字,通常是Debug或者Release IntDir 编译器使用的中间目录,产出obj文件 OutD ...

  9. javaweb项目得执行过程及servlet得请求(Httprequest)和响应(Httpresponse)

    javaweb项目的执行过程及servlet核心要点 1.javaWeb应用的结构 ​ 1.Java Resources :java代码 ​ 2.WebContent:资源文件 如:html css ...

最新文章

  1. 【追寻javascript高手之路04】理解prototype
  2. scrum 敏捷开发
  3. Ubuntu16.04安装ROS后运行gazebo报错 it says it‘s incompatible with that RT“‘ failed.
  4. Bugku—web(一)
  5. CodeForces - 1312E Array Shrinking(区间dp)
  6. Leetcode刷题 34.在排序数组中查找元素的第一个和最后一个位置
  7. 失物招领php_新奥尔良圣徒队是否增加了失物招领?
  8. 第一节 接口概述 [转贴]
  9. 比特币未来几个月怎么样_您需要了解的关于比特币技术的未来
  10. python实现面部特效_Python实现在线批量美颜功能过程解析
  11. 保存网页为图片——滚动截取IE(WebBrowse)
  12. 影响力最大化 RIS 反向影响力采样算法
  13. GEE实战 | 计算NDVI NDWI
  14. java pdf转图片base64,itextpdf 实现html转pdf中中文及图片base64的解决方法
  15. MPB:使用QIIME 2分析微生物组16S rRNA基因扩增子测序数据(视频)
  16. Frida Hook Android App 进阶用法之 Java 运行时
  17. Windows10数据线连接坚果手机SmartisanTNT
  18. spry菜单栏(一)
  19. react通过hook实现父组件调用孙子组件方法(非redux)
  20. 浅析RGB 及RGB转换为ARGB

热门文章

  1. 第18章 项目风险管理
  2. 微信小程序日历基础版(可以自行修改想要的其它效果)
  3. enumerator迭代器和Iterator迭代器浅述
  4. 网上商城购物系统(1)
  5. Axure RP 资源整理
  6. 内存空间3种扩容方式(含虚拟内存)
  7. python钉钉机器人发图片
  8. java中filereader读取文件_FileReader读取文件
  9. matlab 二维凸包面积,PKU——3348——(凸包和计算多边形面积)
  10. 实现Windows远程连接