126 lines
4.4 KiB
Markdown
126 lines
4.4 KiB
Markdown
# IMX6U-Game / TomGame 实训报告 —— 目录结构与摘要(初稿)
|
||
|
||
> 本文档依据往届《基于 STM32 与 IMX6ULL 的智能家居系统》实训报告的结构,结合本项目的实际技术内容,拟写一份适用于 TomGame 项目的报告目录结构与完整摘要。后续撰写正文时可直接套用该框架。
|
||
|
||
---
|
||
|
||
## 一、报告题目建议
|
||
|
||
**中文题目:** 基于 IMX6ULL 的纯 CPU 渲染语音交互游戏设计与实现 —— TomGame 会说话的小猫
|
||
|
||
**英文题目:** Design and Implementation of a Pure-CPU Rendered Voice-Interactive Game on IMX6ULL —— TomGame
|
||
|
||
---
|
||
|
||
## 二、目录结构
|
||
|
||
```
|
||
基于 IMX6ULL 的纯 CPU 渲染语音交互游戏设计与实现
|
||
—— TomGame 会说话的小猫
|
||
|
||
摘要
|
||
ABSTRACT
|
||
|
||
目录
|
||
|
||
1 绪论
|
||
1.1 课题背景与研究意义
|
||
1.1.1 嵌入式游戏与语音交互的发展背景
|
||
1.1.2 在资源受限平台运行图形游戏的必要性
|
||
1.2 国内外研究现状
|
||
1.2.1 嵌入式图形渲染技术研究现状
|
||
1.2.2 端侧语音关键词识别技术研究现状
|
||
1.3 本文主要研究内容
|
||
|
||
2 系统总体方案与相关技术
|
||
2.1 系统需求分析
|
||
2.1.1 功能需求
|
||
2.1.2 性能需求
|
||
2.1.3 跨平台开发与部署需求
|
||
2.2 系统总体架构设计
|
||
2.2.1 Core / Apps 分层架构
|
||
2.2.2 平台抽象层设计
|
||
2.2.3 资源离线转换流程
|
||
2.3 关键开发平台与技术
|
||
2.3.1 IMX6ULL 开发板硬件平台
|
||
2.3.2 ARM Linux 与交叉编译环境
|
||
2.3.3 SDL2 / Framebuffer 双显示后端
|
||
2.3.4 C++11 与 CMake 构建系统
|
||
2.3.5 TinyKWS 关键词识别模型
|
||
2.3.6 音频采集与回放技术
|
||
|
||
3 硬件平台与运行环境设计
|
||
3.1 IMX6ULL 核心板硬件资源
|
||
3.1.1 CPU、内存与存储
|
||
3.1.2 LCD 显示接口与 framebuffer
|
||
3.1.3 音频输入输出接口
|
||
3.1.4 触摸与按键输入
|
||
3.2 开发环境搭建
|
||
3.2.1 Windows / Linux 主机开发环境
|
||
3.2.2 ARM 交叉编译工具链
|
||
3.2.3 板端运行环境配置
|
||
3.3 跨平台硬件抽象策略
|
||
|
||
4 系统软件设计
|
||
4.1 软件总体架构
|
||
4.1.1 模块划分与依赖关系
|
||
4.1.2 主循环与时间源设计
|
||
4.1.3 绘制调用链
|
||
4.2 底层图形引擎 Core 设计
|
||
4.2.1 FrameBuffer 与 DepthBuffer
|
||
4.2.2 颜色、图像与精灵数据结构
|
||
4.2.3 DrawContext 统一绘制接口
|
||
4.2.4 线段与三角形光栅化
|
||
4.2.5 精灵、Tilemap 与 BitmapFont 绘制
|
||
4.2.6 数学库:Vector / Matrix
|
||
4.3 平台适配层 Platform 设计
|
||
4.3.1 IDisplay 与 SDLDisplay / FBDisplay
|
||
4.3.2 IAudioInput / IAudioOutput 与 ALSA / SDL 后端
|
||
4.3.3 IButtonInput / IPointerInput 输入抽象
|
||
4.3.4 ITimeSource 独立时间源
|
||
4.4 离线资源转换工具链
|
||
4.4.1 PNG → RGBA5551 头文件
|
||
4.4.2 像素字体 → BitmapFont 头文件
|
||
4.4.3 Tom Atlas 自动生成流程
|
||
4.5 TomGame 应用层设计
|
||
4.5.1 TomGameApp 状态机
|
||
4.5.2 角色动画系统(TomAnimator)
|
||
4.5.3 语音交互控制器(VoiceInteractionController)
|
||
4.5.4 音频录制、变声与回放(VoiceRecorder / VoiceEffect / VoicePlayer)
|
||
4.5.5 嵌入式关键词识别(KeywordRecognizer / TinyKwsRecognizer)
|
||
4.5.6 命令路由与游戏反馈(KeywordCommandRouter)
|
||
4.5.7 HUD 与设置面板(TomHud / TomSettingsPanel)
|
||
4.6 程序入口与主循环
|
||
4.6.1 命令行参数解析
|
||
4.6.2 初始化流程
|
||
4.6.3 update / draw / present 循环
|
||
|
||
5 系统测试与结果分析
|
||
5.1 测试环境
|
||
5.2 跨平台编译测试
|
||
5.2.1 Windows / Linux x86 编译
|
||
5.2.2 ARM 交叉编译
|
||
5.3 功能测试
|
||
5.3.1 显示后端切换测试
|
||
5.3.2 精灵动画与 UI 交互测试
|
||
5.3.3 录音变声回放测试
|
||
5.3.4 关键词识别功能测试
|
||
5.4 性能测试
|
||
5.4.1 PC 端帧率与绘制耗时
|
||
5.4.2 IMX6ULL 端 framebuffer 提交性能
|
||
5.4.3 Release 与 Debug 构建对比
|
||
5.5 测试结果分析
|
||
|
||
6 总结与展望
|
||
6.1 工作总结
|
||
6.2 存在问题与改进方向
|
||
|
||
致谢
|
||
|
||
参考文献
|
||
|
||
附录
|
||
附录 A 关键源代码清单
|
||
附录 B 系统运行截图
|
||
附录 C 硬件连接示意图
|