当前位置: 首页 > news >正文

Urho3D子系统

通过使用函数RegisterSubsystem(),任何对象都可以作为子系统注册到上下文中。然后,通过调用GetSubsystem(),同一上下文中的任何其他对象都可以访问它们。每个对象类型只能有一个实例作为子系统存在。

发动机初始化后,以下子系统将始终存在:

  • Time:管理帧更新、帧数和经过时间计数,并控制操作系统低分辨率计时器的频率。
  • WorkQueue:在工作线程中执行后台任务。
  • FileSystem:提供目录操作。
  • Log:提供日志记录服务。
  • ResourceCache:加载资源并保持缓存以供以后访问。
  • NetWork:提供UDP网络和场景复制。
  • Input:处理键盘和鼠标输入。将在无头模式下处于非活动状态。
  • UI:图形用户界面。将在无头模式下处于非活动状态。
  • Audio:提供声音输出。如果禁用声音,则将处于非活动状态。
  • Engine:创建其他子系统并控制主循环迭代和帧速率限制。

以下子系统是可选的,因此如果尚未创建,GetSubsystem()可能返回null:

  • Profiler:使用操作系统性能计数器提供分层函数执行时间测量。如果在中编译了评测,则存在(可从根CMakeLists.txt配置)
  • EventProfiler:与事件探查器相同。
  • Graphics:管理应用程序窗口、渲染上下文和资源。如果不处于无头模式,则存在。
  • Renderer:在3D中渲染场景并管理渲染质量设置。如果不处于无头模式,则存在。
  • Script:提供AngelScript执行环境。需要手动创建和注册。
  • Console::提供交互式AngelScript控制台和日志显示。通过调用CreateConsole()创建。
  • DebugHud:显示渲染模式信息、统计信息和分析数据。通过调用CreateDebugHud()创建。
  • Database:管理数据库连接。在构建库时,需要启用数据库支持的构建选项。

在脚本中,子系统通过以下全局财产可用:Time、fileSystem、log、缓存、网络、输入、ui、音频、引擎、图形、渲染器、脚本、控制台、debugHud、数据库。请注意,由于WorkQueue和Profiler的低级性质,它们不可用于脚本。

http://www.lryc.cn/news/5266.html

相关文章:

  • 无线网络术语总结
  • 海卡和海派有什么区别
  • vue3学习资料整理
  • Linux基础语法进阶版
  • 近红外染料标记小分子1628790-37-3,Cyanine5.5 alkyne,花青素CY5.5炔基
  • 洛谷——P1004 方格取数
  • Linux删除软链接
  • 【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介绍
  • 设计模式之工厂模式详解和应用
  • ArcGIS中的附件功能
  • epoll单台设备支持百万并发连接
  • 网络字节序
  • 03- SVC 支持向量机做人脸识别 (项目三)
  • 浅谈指向二维数组元素的指针变量
  • 左右值引用和移动语义
  • 一起学习用Verilog在FPGA上实现CNN----(七)全连接层设计
  • tomcat打debug断点调试
  • 如果持有互斥锁的线程没有解锁退出了,该如何处理?
  • 信息论绪论
  • Buffer Status Reporting(BSR)
  • 代码随想录LeetCode | 单调栈问题
  • C++之可调用对象、bind绑定器和function包装器
  • MongoDB--》文档查询的详细具体操作
  • 网络协议(六):网络层
  • 热启动预示生态起航的Smart Finance,与深度赋能的SMART通证
  • 提分必练,中创教育PMP全真模拟题分享
  • PID控制算法基础介绍
  • Ajax 学习笔记
  • ​力扣解法汇总1234. 替换子串得到平衡字符串​
  • C++关键字之const、inline、static