LunaSDK 的安装和配置教程
1. 项目的基础介绍和主要的编程语言
LunaSDK 是一个开源的 C++ 软件开发框架,专门为实时渲染应用设计,如视频游戏、交互式多媒体程序和数据可视化程序等。该框架提供了一系列自实现的底层库,包括平台抽象层、容器库、数学库等,并且不依赖于 C++ STL。LunaSDK 支持动态类型反射、序列化和反序列化、异步计算、多种渲染后端(Direct3D 12、Vulkan 和 Metal)等特性。
主要编程语言:C++
2. 项目使用的关键技术和框架
- 平台抽象层:提供跨平台支持,能够在 Windows、macOS、Linux、Android 和 iOS 上运行。
- 动态类型反射:支持泛型类型的完整反射。
- 序列化和反序列化:基于反射,支持 JSON 和 XML。
- 作业系统和线程池:用于异步计算。
- 渲染硬件接口(RHI):支持 Direct3D 12、Vulkan 和 Metal。
- 窗口管理 API:用于创建和管理窗口。
- 着色器编译 API:将 HLSL 着色器编译为 DXIL、SPIR-V 和 Metal。
- 低延迟音频硬件接口(AHI):提供跨平台的音频接口。
- 人类接口设备 API:提供访问输入/输出设备的接口。
- 资产系统和虚拟文件系统:用于运行时管理资产。
- 文件加载器:支持图像文件、字体文件和 .OBJ 文件加载。
- 基于 GPU 的向量图形渲染。
3. 项目安装和配置的准备工作和详细的安装步骤
准备工作
在开始安装之前,请确保您的系统满足以下要求:
- Windows:Windows 10 操作系统,64 位。
- macOS:macOS 10.15 (Catalina) 和更高版本。
- Linux:支持 Vulkan 的 GPU 和驱动程序。
此外,您需要安装以下工具和依赖:
-
C++ 工具链:
- Windows:Visual Studio 2019 或更高版本(包括 C++ 桌面开发和 C++ 游戏开发工作负载)。
- macOS:XCode 和命令行工具。
- Linux:clang 或 gcc(目前未实现)。
-
xmake 构建系统:用于构建项目,可以从 xmake 官方网站 下载并安装。
-
Visual Studio Code:如果使用 Visual Studio Code,需要安装 XMake 和 C/C++ 扩展。
安装步骤
步骤 1:克隆或下载项目
首先,从 GitHub 上克隆或下载 LunaSDK 项目。
git clone https://github.com/JX-Master/LunaSDK.git
或者直接从 GitHub 下载 ZIP 文件。
步骤 2:执行项目设置
根据您的操作系统,运行相应的设置脚本。
- Windows:
double click setup.bat
- macOS:
bash setup.sh
步骤 3:构建项目
根据您的开发环境,选择以下构建方式:
-
Visual Studio:
-
双击
gen_vs2019.bat或执行以下命令:xmake project -y -k vsxmake2019 -m "debug;profile;release"如果您使用的是其他版本的 Visual Studio,请将
vsxmake2019替换为您的版本,例如vsxmake2021。 -
在 Visual Studio 中打开生成的解决方案文件(位于
/Solution/vsxmake2019/Luna.sln)。 -
在 Visual Studio 中构建解决方案。
-
-
Visual Studio Code:
-
克隆或下载项目。
-
运行
setup.bat(Windows)或setup.sh(macOS)。 -
在代码编辑器中打开项目根目录,然后选择 xmake 工具链。
-
通过执行以下命令配置构建选项:
xmake f {options}可能的选项包括
-p(目标平台),-a(架构)和-m(模式)。 -
打开终端并执行以下命令以构建所有项目:
xmake build或者构建特定目标:
xmake build {target}
-
-
XCode:
-
克隆或下载项目。
-
运行
setup.sh。 -
在终端中运行
gen_xcode.sh:chmod +x ./gen_xcode.sh ./gen_xcode.sh -
在 XCode 中打开生成的项目文件(
Luna.xcodeproj)。 -
在 XCode 中构建产品。
-
完成以上步骤后,LunaSDK 应该已经成功安装并配置完毕,您可以开始开发和测试您的实时渲染应用程序了。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C080
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python056
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0135
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00