WAYNETS.ORG

Game and Program

相关问题

作者:

发表于

Context Polling System Post-Processing Renderer

为什么要将Shader封装为智能指针(Smart Pointer)对象?

我们想将其创建在堆上,并且控制这个对象的生命周期,将所有权绑定到SandboxApp。这也就意味着如果这个应用程序被销毁,那么这个智能指针对象也会被销毁,没有其他引用。

延迟渲染

在渲染之前就拥有所有实际渲染场景的上下文,并做出一些处理,从而提高渲染的效率

多线程引擎

多线程引擎是将游戏引擎中的不同子系统(如物理、逻辑、渲染)拆分到不同线程中,以提升性能。

常见多线程结构为:

  • 游戏逻辑线程:控制单位行为、脚本执行等。
  • 物理线程:碰撞检测、刚体力学等。
  • 渲染线程:提交渲染命令到 GPU。
  • 音频线程:播放和混合音效。
  • 资源加载线程:异步加载纹理、模型、场景等。

渲染线程必须对着色器对象具有强引用

引擎中提交给渲染线程的每一个资产都应该是共享指针

共享指针:线程安全,使用原子增量减量

对于仅限于游戏引擎的,比如作为资产处理的事情,使用Ref

Read Next:


Leave a comment