Bubble三维图形引擎简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bubble三维图形引擎简介相关的知识,希望对你有一定的参考价值。

Bubble是一款基于OpenGL的3D图形引擎,主要使用C++编写,采用CMake构建工具构建,基于OpenGL可编程管线,支持GLSL着色器语言。这是一个用于学习和实践的项目,目前尚在开发中。

目录结构

目前项目结构如下图所示:
技术分享
Bubble/bubble包含引擎的全部源代码和资源,其中:
Bubble/bubble/include为引擎的全部公共头文件;
Bubble/bubble/src为引擎全部源文件;
Bubble/bubble/res包含引擎的所有内置资源,包括材质,纹理,模型,着色器等。
除此之外,`Bubble/samples`还包含引擎的所有示例程序。

基本模块

目前引擎由以下四个模块组成:

  • Base:引擎的底层模块,包括窗口管理,资源管理等。其中Windows为窗口类,主要使用第三方库SDL2实现,Engine类负责引擎的初始化和引擎子系统的管理工作,Resources类负责引擎的资源管理。
  • Math:引擎的数学模块,实现了向量,矩阵和四元数类以及常用的数学函数。
  • Render:引擎的渲染模块,实现了对模型,材质,纹理,着色器,摄像机以及灯光的管理和封装,实现基本的渲染功能,同时对顶点缓冲对象,索引缓冲对象和顶点格式也做了一定的封装。
  • Scene:引擎的场景模块,实现基本的场景管理,以及基于组件的对象模型。Node类表示场景中的一个对象,他包含位置,缩放,旋转等空间信息,同时维护一系列Component对象。Component类是所有组件的基类,用于描述对象的行为。Scene类表示场景,他负责组织节点,并维护场景中的灯光和摄像机信息。

这是目前引擎的大致结构,未来可能会加入更多的模块和功能。

项目github地址:https://github.com/EasonWhite0928/Bubble







以上是关于Bubble三维图形引擎简介的主要内容,如果未能解决你的问题,请参考以下文章

Bubble更新

WPF三维图形

计算机图形学 开源的库都有哪些,主要用于二维

用three.js开发三维地图实例

qt里面混合二维图形和文字

WPF简介