littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Dear ImGui的Magma应用框架

项目简介

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】