# Catentacle **Repository Path**: hang-jingqi/Catentacle ## Basic Information - **Project Name**: Catentacle - **Description**: Catentacle 游戏引擎(学习开发中) - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-05-28 - **Last Updated**: 2025-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: gameEngine, Cpp, imgui, glfw ## README # Catentacle [![GitLab License](https://img.shields.io/gitlab/license/34546?gitlab_url=https%3A%2F%2Fgit.acwing.com%2F&color=1%EF%BC%8C1%EF%BC%8C0)](https://git.acwing.com/YagiMiji/Catentacle/-/blob/master/LICENSE) Catentacle Game Engine It is a 2D/3D game engine. _Learn from TheCherno._ --- ## 开始 **1. 下载存储库:** 首先使用 `git clone --recursive https://git.acwing.com/YagiMiji/Catentacle` 递归克隆存储库。 如果存储库之前是以非递归方式克隆的,则需要用 `git submodule update --init` 克隆必要的子模块。 **_子模块中的库有源自GitHub的,最好挂上梯子,否则极有可能克隆失败_** **2. 选择分支:** - master: 稳定的分支。这个分支里的内容是稳定的。 - dev: 正在开发新功能的分支。这个分支有前瞻内容,但不保证能正常使用。 **2. 生成 Visual Studio 解决方案:** 运行在文件夹 `scripts` 中找到的 [GenerateProjects.bat](https://git.acwing.com/YagiMiji/Catentacle/-/blob/master/scripts/Win-GenProjects.bat) 脚本文件,即可生成 Visual Studio 解决方案文件供用户使用。 _注意:运行 [GenerateProjects.bat](https://git.acwing.com/YagiMiji/Catentacle/-/blob/master/scripts/Win-GenProjects.bat) 之前请检查你的 Visual Studio 版本,默认生成的解决方案文件是vs2022版的,如果你不是该版本,请手动修改 [GenerateProjects.bat](https://git.acwing.com/YagiMiji/Catentacle/-/blob/master/scripts/Win-GenProjects.bat) 中的vs2022为你的版本号。_ ``` @echo off pushd %~dp0\..\ call vendor\premake\bin\premake5.exe [Your version] popd PAUSE ``` **如果要重新生成项目文件,请重新运行文件夹 `scripts` 中找到的 [GenerateProjects.bat](https://git.acwing.com/YagiMiji/Catentacle/-/blob/master/scripts/Win-GenProjects.bat) 脚本文件。** **3. 使用 Visual Studio 编译:** ---- ## 文件结构 ``` . ├─bin ├─bin-int ├─Catentacle # 引擎 │ ├─src │ │ ├─Catentacle # 引擎(包含接口、框架) │ │ │ ├─Core # 核心 | | | ├─Debug # Debug专用(包含可视化性能分析数据生成等) │ │ │ ├─Events # 事件系统 │ │ │ ├─ImGui # UI │ │ │ ├─Math # 数学库 │ │ │ ├─Renderer # 渲染系统 │ │ │ ├─Scene # 场景 │ │ │ ├─Utils # 功能/工具 │ │ │ └─ ... │ │ └─Platform # 平台(对应接口的实现) │ │ ├─OpenGL │ │ └─Windows │ ├─vendor # 外部库 │ │ ├─Box2D │ │ ├─entt │ │ ├─Glad │ │ ├─GLFW │ │ ├─glm │ │ ├─imgui │ │ ├─ImGuizmo │ │ ├─spdlog │ │ ├─stb_image │ │ └─yaml-cpp │ └─ ... ├─Catentacle-Editor # 编辑器 │ ├─assets # 资产 │ | ├─scenes # 引擎场景资源文件(*.catentacle) │ | ├─shaders # 着色器脚本 │ │ └─textures # 纹理 │ └─src │ │ ├─Panels # 属性、工具窗口等 │ │ └─ ... │ └─ ... ├─Sandbox # 测试沙盒 │ ├─assets # 资产 │ | ├─shaders # 着色器脚本 │ │ └─textures # 纹理 │ └─src │ │ └─ ... │ └─ ... ├─scripts # 脚本(用于生成解决项目) │ └─ ... └─vendor └─premake ├─ bin # premake5.exe + LICENSE.txt └─ ... ```