-
Notifications
You must be signed in to change notification settings - Fork 0
Home
首先,欢迎来到“皮影戏游戏引擎2”的项目Wiki!本项目是本人的第二个游戏引擎项目,第一个游戏引擎项目是ShadowPlayEngine,并未开源,因为是本人的毕业设计作品,项目的部分文件以及源码的著作权归属于本人母校,为了避免未来可能会发生的纠纷,所以不打算开源。本Wiki主要作为本项目的构建部署步骤的说明文档以及API文档。设计思路等可以移步至我的github博客(github主页就有,不在此处放链接了)。
First of all, Welcome to the ShadowPlayEngine2 wiki! This wiki is describe the step of how to build this project and API's notice.
虽然说本人是“优化至上”派,将极致优化奉为首位,但是为了适应本人的主力开发机,在搭建开发环境时请遵循以下环境要求:
- 中央处理器:支持AVX指令集的x64中央处理器
- 图形处理器:至少支持Vulkan 1.3.216版本的图形处理器
- 操作系统:64位操作系统
- C++编译器:支持C++ 14标准
以上标准在之后还会更新以及细化,造成的不便还请谅解。
本项目使用xmake构建工具进行构建,安装步骤以及基础使用方法可以移步至xmake官网查看,安装完成后,在终端命令行中键入如下指令:
$ xmake -h
出现如下结果表示可以进行接下来的步骤:
由于本项目中有使用到Vulkan API,所以接下来需要安装Vulkan SDK,Vulkan SDK的安装可以参考这个。但是只用安装SDK即可,GLFW以及GLM等后续配置不用再看,因为xmake.lua
已经为你配置好GLFW以及GLM的包依赖,就不用那么麻烦了。
在你clone完本项目代码后,进入项目根目录,接下来可以根据你的个人喜好进行项目构建(目前仅有Windows平台的构建,其他平台构建在之后会更新):
本项目内已经包含了一键式项目生成的批处理文件GenerateProjectVS20XX.bat
,双击本文件运行,根目录下即可生成“Visual Studio解决方案"(.sln)文件,位于文件夹“vs20xx”处(其中,20xx代表你的VS版本,目前ignore中仅包含了VS2022,其它版本后续会加入)。
接下来打开解决方案即可开始进行编辑与构建,不过推荐另起一个新分支后再进行项目生成操作。
在使用VSCode进行开发之前,建议先为你的VSCode安装XMake扩展插件以及微软官方的C/C++扩展插件,安装完成后直接在你的VSCode中“打开文件夹”即可,在初次构建之前,请先在根目录中
运行命令$ xmake
,确保生成“.xmake”文件夹后再进行开发。
但是,使用VSCode进行编辑时有时会出现无法找到路径或者是无法找到某些定义,确实让人头疼,在“.vscode”文件夹中的c_cpp_properties.json
的文件中相应部分加入如下语句:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"VulkanSDK的include路径",
"GLFW的include路径",
"GLM的include路径"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"SHADOWPLAY_PLAT_WIN",
"SHADOWPLAY_CORE_EXPORT",
"SHADOWPLAY_DEBUG"
]
}
],
"version": 4
}
这样即可甩掉让人烦恼的红色波浪线了
在以上步骤完成后即可开始进行编辑与编译,同样地,还请创建一个新分支进行你自己的开发。
一部分的步骤与Windows平台下大致相同,同样推荐为vscode安装xmake插件以及C/C++插件。在安装完vulkan sdk之后请设置PATH以及LD_LIBRARY_PATH环境变量,之后在项目目录下直接打开vscode,点击插件提供的build即可构建。
若在构建过程中提示缺少cmake,请先安装cmake,因为这里的vulkan sdk包导入采用的是cmake的导入方式。
同样的,若vscode在代码中显示红色波浪线,请在include path中添加相关库的include地址,以下给出在Ubuntu环境下各依赖库的include以及lib地址,方便各位在配置时不会出现问题
vulkansdk:
- include路径:
/usr/include
- bin路径:
/usr/bin
- lib路径:
/usr/lib/x86_64-linux-gnu
glfw以及glm:
这两个库的include路径因人而异,但大致路径都在~/.xmake/packages/g/
之下。