【Hybrid 引擎】从0开始的引擎开发——01 项目准备

【Hybrid 引擎】从0开始的引擎开发——01 项目准备 

前言

嗨!我是大谷,现在在瑞典哥德堡大学(University of Gothenburg)攻读游戏设计(Game design & technology)。我爱玩游戏,也非常喜欢游戏开发,对游戏开发相关的技术非常感兴趣。在这一个学习阶段,我们有一门课是游戏引擎开发,主要目的是让大家对游戏引擎有初步的了解,同时可以动手去修改游戏引擎的一部分。借着这个机会,我和我在隔壁查尔姆斯理工大学(Chalmers)的好朋友叶哥打算自己从0开始开发一款3d游戏引擎。

Git仓库:Branches · The-Lyricis/HybridEngine

技术准备

之前看过王希的Game104的课程,同时也听说过youtube上非常有名的游戏引擎开发博主Cherno所发布的引擎开发教学视频。我们决定以这两个公开源码的引擎为参考,开发一款属于我们的游戏引擎。由于我们的引擎是集百家之所长(Game 104的picolo引擎,Cherno的Hazel引擎,和课程中提供的Shard引擎),所以我为我们的引擎起名叫做Hybrid,寓意融合,杂交,每个引擎都参考参考,怪形象的。

经过谈论,我们决定了以下技术栈

语言:C++(CMake 3.20构建)

图形引擎:OpenGL (我们在之前的图形学课程中接触过,较为熟悉)

IDE:Visual studio 的 CMake 模式 (同时使用VS Code 打开同一工程使用CodeX插件)

依赖库(部分):

窗口系统:GLFW

数学库:GLM

UI框架:imGUI

日志系统:spdlog

项目结构设计

如下图所示


















我们将项目源码分为editor和runtime两部分

editor主要负责编辑器相关功能,runtime是引擎核心代码

对于runtime,我们严格按照引擎的分层设计结构,当前分为core和function两层,后续可能会加平台层等其他层。

咋跑

朋友们如果对我们的引擎感兴趣我可以教大家如何正确打开我们的工程

使用Visual Studio通过CMake 打开

如果没有CMake缓存可以按照如下方法刷新

也可以通过根目录的build_windows.bat一键构建

欢迎大家来玩!







评论

发表评论

此博客中的热门博文

【C++】类型限定符const

【C++】左值和右值,左值引用和右值引用