3D游戏引擎入门课程——资源管理

写在前面

本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。
原课程链接:3D游戏引擎架构设计基础

资源管理

资源管理概述

游戏资源的组织和管理。其目的是有效地组织和管理各类游戏资源,即在合适的时候快速准确地提供给游戏程序使用。其中,资源组织是指根据各类资源的特性和使用方式,设计资源数据的内存结构;资源管理是指抽象并定义统一的资源处理方式,如:资源加载和卸载、资源调度等。

资源管理过程图如下:
在这里插入图片描述
游戏资源管理:

  • 文件管理:包括文件加载与卸载,文件解析,文件格式转换,文件资源打包,文件资源传输等过程。
    在这里插入图片描述

  • 内存管理:包括内存分配,访问保证,内存释放等功能:
    在这里插入图片描述

  • 状态管理:一般地,一个游戏资源不会再内存中重复存储,以节省内存,根据资源状态,决定加载和使用等操作;通过状态转换图,管理资源加载或卸载的操作。资源状态有:未定义、已定义、未加载、已加载、正使用等。资源状态转换图示例:
    资源状态转换图

  • 调度算法:原则是尽可能少地移动资源数据,当不得不移动时,根据一定的条件决定移动策略。常用的调度算法包括:对资源优先级排列、LRU算法、根据当前操作决定最可能使用的资源等。

  • 多线程处理
    在这里插入图片描述

资源管理实例

OGRE资源管理

在这里插入图片描述
其中主要类的类图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上述三个核心类的关系图如下:
在这里插入图片描述
OGRE资源生命周期的时序图如下:
在这里插入图片描述

Panda3D资源管理

Panda3D资源管理主要类模块:

在这里插入图片描述
Panda3D异步资源加载器类图:
在这里插入图片描述
Panda3D异步加载时序图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值