1. 环境准备
运行调试环境的准备参考我的另外一篇博客:【OSG学习】准备开发调试环境
运行调试环境准备比较麻烦,但是不复杂,需要耐心。但是可能很多人会被卡在这一步,后面我会专门提供直接可以使用的完整项目,方便大家学习使用。
2. 学习过程
2.1 预备知识
简单了解OpenGL运作原理。极力推荐教程:
- LearnOpenGL
2.2 看书
这里推荐一些书:
- 《最长的一帧.pdf》
- 《OpenSceneGraph快速入门指南.pdf》,原版 《OpenSceneGraph Quick Start Guide.pdf》
- 《OpenSceneGraph程序设计.pdf》
- 《OpenSceneGraph三维渲染引擎编程指南.pdf》
这些书出版比较久了,使用的技术或者软件版本也比较陈旧,大致看一看了解一下原理就行。
最主要的还是自己调试,看代码,遇到不懂的地方,再去搜索资料,弄懂。
2.3 运行调试
我们调试要基于比较新的技术和软件,我认为这样可以减少学习内容,否则就需要先学习旧的再学习新的,多此一举。人生苦短,旧的就跳过吧。
我这里用的是OSG 3.4.0。
2.3.1 了解项目结构
在VS中,项目结构如下所示:
简单说一下每个文件夹具体含义:
- Application:此文件夹下包含了一些OSG自带的独立应用的工程项目,比如osgViewer.exe、osgArchive等。
- CMakePredefinedTargets:包含专门用于构建、部署OSG的项目,只包含构建部署指令,不包含实际代码。说简单点,这里面的项目是用于构建部署其他项目的。
- Examples:此文件夹包含了示例项目,这是我们学习的重点内容,后面咱们一个一个过。
- OSG Core:此文件夹包含了OSG核心类库,使用这个库就可以构建各种三维场景了,这是我们最终需要理解和掌握的核心内容。
- Plugins:这个文件夹是相对于OSG Core而言的,它提供了一些功能扩展插件,应该只有在特定场景下才能用到,在需要使用的时候我们再学习即可(不确定,可以先这么理解。插件嘛,不就是用的时候再安装使用吗)。
至此,项目结构也了解的差不多了,下面进入正题!
2.3.2 从Examples开始
限于篇幅,我把Examples放到了另外一篇博客中了:
- 【OSG】Examples