Irrlicht引擎源码剖析——第十天

在include分类目录下的5个模块,仅剩gui模块了。我觉得gui模块算是引擎的附加功能,可以独立出来看,所以先放下这块。一鼓作气先把引擎最重要的核心部分——video、scene的实现模块搞定。

 

按照之前看的顺序,先从video模块开始。在分类目录video impl下,包含Null,Software,DirectX,OpenGL四个子分类目录。根据在include\video下的EdriverTypes.h文件中定义的驱动器类型的排列顺序,我们先看video impl\Null/下的文件。

 

首先是看3个接口文件。在ISurface.h中,声明了一个16位色(A1R5G5B5格式)的表面接口类。有设置获取颜色掩码、复制表面到另一个表面、加解锁表面等方法。在ISurfaceLoader.h文件中,声明了一个可以根据文件信息创建一个表面的类,类中声明了读文件载入表面等方法。在ISurfacePresenter.h中,声明了在客户区里呈现一个画面的类。

 

看完3个基本接口,来看表面的实现。在CSurface.h/.cpp中,对描述表面的类进行了实现。该类继承了Isurface接口类,实现了对表面的复制、裁剪,绘制线条、矩形,操作像素等方法。在CSurface::fill()方法中,代码&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值