查看: 668|回复: 1

Vega Prime入门教程12.02:基本开发流程

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
Vega Prime入门教程12.02:基本开发流程
发表于 5 天前 | 显示全部楼层
Vega Prime入门教程12.02:基本开发流程

Vega Prime 的 API 通过模板和继承性使用简化了仿真循环,其紧凑且灵活的 STL 和 C++ API 使得仿真变得更加有效。实时控制涉及定义 ACFS、配置 ACFS 和系统、运行仿真循环以及最终退出仿真循环。

初始化过程涉及多个关键步骤,包括检查许可证是否正确、初始化静态变量和单例类、内存分配、渲染库、场景图、ACF 解析程序和模块界面初始化。值得注意的是,在自定义应用中,ACF 中的模块无需初始化。

初始化实例中,`vp::initialize` 方法执行初始化任务,例如设置静态变量、初始化内存分配和渲染库等。

`vpApp` 类定义了一个典型的 VP 应用框架,包含实时功能的封装,如定义 ACFS、配置仿真类、仿真循环、更新和退出。通过复制和修改 `vpApp` 类,可以轻松创建自定义应用。

用户定义类可以通过复制和修改 `vpApp` 类来创建。多次定制 `vpApp` 类以满足特定应用需求,并通过 `vpApp` 创建自定义类。

通过代码创建类实例或传递 ACF 文件给 `vpKernel::define`(或 `vpApp::define`,如果 `vpApp` 已使用)来定义 ACF 文件中的类实例。定义语句可以替代 ACF 执行功能,允许在 VP 中多次定制和实时调用多个 ACF。

配置涉及从 ACF 中分解并关联不同类,例如将系统中的 pipeline 添加到服务管理器,并为每个类配置相关联系。配置是可逆的,通过 `unconfigure` 可以返回到配置前状态。配置方法经常被反复使用。

仿真循环通过调用 `run()` 函数执行主要功能。此过程包含 `beginFrame()`、`endFrame()` 和 `breakFrameLoop()` 等方法,用于持续调用和结束仿真循环。配置方法也常被用户应用于自定义应用中。

仿真更新发生在主循环中间,通过应用调用。如果没有调用,`vpKernel::endFrame()` 会自动调用,此过程在非延迟关键信息传递给内核之前发生。关于帧的准确位置,所有仿真对象都由应用定位,这分为自动更新和手动更新两种方式。

关闭过程涉及释放内存,结束模块以释放应用中占用的内存,终止多线程,并将许可证返回给许可证服务器。

完整流程包括编译、运行、提示内存情况、在源码目录生成可执行文件以及部署至其他 PC。编译结果文件可用于后续操作。

Vega Prime 的基本开发流程涉及初始化、实时控制、初始化实例、配置、仿真循环、仿真更新、关闭和完整流程,确保开发过程高效且易于管理。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表