IndieLib开源游戏引擎第一篇中文介绍

IndieLib是一个2.5D游戏引擎,利用Direct3D进行硬件加速,专注于2D渲染并支持3D模型。其特点包括简单接口、高效2D/3D渲染、精灵动画、Alpha混合、自动网格处理、高级碰撞检测、位图文字、3D光照以及定时器系统。IndieLib采用LGPL许可,适用于商业项目。

logo

IndieLib简介
IndieLib是一个2.5d引擎,使用它可以简化游戏开发的难度,提高游戏开发的速度。内部它使用Direct3d做硬件加速,但它并没有使用DirectDraw或者ID3DXSprite,而是直接将材质渲染在多边形上。它的设计重点是快速2d渲染,但同时也可以渲染3d模型。IndieLib的主要特点是:

  1. 简单的接口和超强的易用性:使用entities来代表图形实例,可以调用简单的函数来设置它们的属性。如"SetPos", "SetCollisionArea", "SetFade", "SetTransparency",等
  2. sprites移位、旋转、镜像和缩放
  3. sprites Alpha blending, transparency, tinting and fading
  4. 渲染任何尺寸的图片(不一定非要是2的次方)。你可以载入10000x10000像素或更大的图片,IndieLib在内部会自动将它们分割成小的区块。还有,IndieLib可以自动丢弃显示窗口以外的区块,提高渲染速度。在IndieLib中,还可以使用摄像机(camera),当使用摄像机时(如旋转,拉远拉近等)只有你看到的会被渲染。
  5. SetGrid函数可以给sprites设定grids,所以当移动grid上的点时,可以得到如波浪等的特殊效果
  6. 2d和3d摄像机(camera)概念,完全独立于图形。可以方便的移位、旋转和拉远拉近
  7. 可以方便的创建多个视角(viewport),方便创建大屏幕分屏游戏
  8. 随意缩放,引擎会自动决定是否显示图形
  9. 动画系统,使用XML文件定义动画文件
  10. 高级碰撞检测系统,使用xml文件定义碰撞区域。区域类型可以是圆圈、矩形和三角形。还可以将多个碰撞区域定义为组,从而方便检测组成员的所有碰撞。定义碰撞区域后,你不用担心移位、缩放等操作会导致碰撞失效。引擎会自动重新计算碰撞区域。(非常适合于街头霸王类型的打斗游戏)
  11. 位图文字系统
  12. 渲染3d Mesh(你可以方便的将2d与3d图形混合起来显示)。也可以对3d模型进行方便的移位、旋转、镜像和缩放操作。这个特性可以是你制作"New Super Mario Bros"这样角色是3d,而场景是2d的游戏
  13. 灯光系统,可以为3d模型加入灯光效果
  14. 定时器(Timer),开始、结束、暂停,可以方便的控制时间
  15. 实体(Entity)类,用于2d或3d图形,可以方便的控制图形。
  16. Image类,用于载入、保存不同格式的图片文件,还可以实现gaussian, noise, equalize, saturation等特效
  17. 直接blit基本图形(矩形、圆圈、多边形、直线等)
  18. 鼠标、键盘输入支持

 

IndieLib是一个开源引擎,它的License是LGPL,这就是说你可以将它用于商业项目。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值