项目简介
Magma是一个基于Dear ImGui的简单应用程序框架,为开发者开发桌面和Web应用程序提供了便捷平台。它支持Vulkan和OpenGL渲染后端,让开发者无需深入了解底层图形和渲染技术,可专注于应用程序的核心功能开发。
项目的主要特性和功能
- 直观且简单的界面设计:基于Dear ImGui库,界面直观易用。
- 跨平台支持:支持桌面和Web应用程序开发,保证代码在不同平台的兼容性。
- 灵活的渲染后端:支持Vulkan和OpenGL渲染后端,开发者可按需选择渲染技术。
- 易于使用:无需深入掌握底层图形和渲染技术,开发者能快速上手,专注应用程序逻辑实现。
安装使用步骤
假设用户已下载本项目的源码文件,以下是使用步骤:
1. 复制项目:
bash
2. 设置CMake:
创建CMakeLists.txt
文件,配置项目并设置渲染后端。示例如下:
```CMake
cmake_minimum_required(VERSION 3.3)
project(MagmaExample)
set(MAGMA_VULKAN ON) set(MAGMA_OPENGL OFF) set(MAGMA_EMSCRIPTEN OFF)
add_subdirectory(Magma)
add_executable(MagmaExample Sandbox/src/main.cpp )
target_link_libraries(MagmaExample
PRIVATE
magma
)
3. **创建主文件**:
创建一个主文件(如`main.cpp`),实现应用程序的逻辑和渲染循环。示例如下:
c++
#define MAGMA_ENTRYPOINT
#include "Magma/Magma.h"
class MyApplication: public mg::Application { public: MyApplication() {}
void Init() {
SetSize(600, 600);
SetTitle("Magma Example Application");
}
void Destroy() override {}
~MyApplication() {}
void Render() override {
ImGui::ShowDemoWindow();
ImGui::Begin("Second Window");
if (ImGui::Button("Click me"))
SetTitle("You Clicked Me");
if (ImGui::Button("Resize"))
SetSize(450, 450);
ImGui::End();
}
};
mg::Application CreateApplication(int argc, char argv) { return new MyApplication(); } ``` 4. 编译运行*: 使用CMake构建工具编译项目,并在支持的平台上运行应用程序。
注意事项
- 确保安装了CMake、Vulkan SDK(可选)和Emscripten(可选)等依赖项。
- 根据平台选择适当的渲染后端,并在CMake配置中设置相应选项。
- 遵循提供的模板和示例代码来设置应用程序的入口点、窗口大小和渲染循环。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】