永远也不完美的程序

不断学习,不断实践,不断的重构……

常用链接

统计

积分与排名

好友链接

最新评论

2016年9月11日 #

FreeType使用的总结

     摘要: 这里说一下Freetype的关键点,比较基础的在很多文章已经有说明,这里就不详细说明了。
FreeType每个字符的加载,可以影响到后面对字符图像的处理。  阅读全文

posted @ 2016-09-11 17:14 狂烂球 阅读(979) | 评论 (0)编辑 收藏

2015年6月10日 #

正确理解shadowmap的实现方式

     摘要: 首先确定阴影的最基本原理:
阴影是以光源作为摄像机(叫作Camera_light),光照方向作为摄像机的look的方向,然后把这个摄像机看到的场景物渲染到纹理,这个纹理就叫shadowmap。  阅读全文

posted @ 2015-06-10 20:44 狂烂球 阅读(1378) | 评论 (1)编辑 收藏

2014年2月20日 #

gles2开发中遇到的问题及解决方法

     摘要: 1.纹理
在gles2中,纹理在glsl中定义的顺序,并不是按先后顺序来排列的。
  阅读全文

posted @ 2014-02-20 19:33 狂烂球 阅读(1405) | 评论 (1)编辑 收藏

2014年2月1日 #

2012-2013年AIREngine开发总结及未来展望

     摘要: 2012-2013年AIREngine开发总结及未来展望  阅读全文

posted @ 2014-02-01 18:29 狂烂球 阅读(1538) | 评论 (1)编辑 收藏

2013年8月17日 #

游戏中各种特效的实现方法。

     摘要: 这里说的是一些常规的人没考虑到的效果。

1、精确拾取的实现
一般普通的拾取就是AABB,再是OBB,或者是遍历一个模型的面。这三种方式都有缺陷。  阅读全文

posted @ 2013-08-17 13:22 狂烂球 阅读(618) | 评论 (1)编辑 收藏

2013年3月23日 #

游戏中各种性能优化方法(不断更新)

     摘要: 谈到游戏中的性能优化,说白了就是如何提高帧率和降低内存。
提高帧率的基本原则就是减少DP次数,还有是找出时间消耗高的程序代码加以修改。  阅读全文

posted @ 2013-03-23 16:29 狂烂球 阅读(1271) | 评论 (1)编辑 收藏

2013年1月24日 #

游戏渲染窗口下实现内嵌网页

     摘要: 现在游戏的UI五花八门,什么需求都有,特别是涉及到充值那块,对内嵌网页要求就更多。
那么怎么实现一个UI里的内嵌网页呢?这个网页还要跟着这个UI移动。
  阅读全文

posted @ 2013-01-24 19:22 狂烂球 阅读(2732) | 评论 (5)编辑 收藏

2012年10月3日 #

为适应dx11,airengine所作出的修改。

1、渲染状态归类封装
DX9下的渲染状态比较乱,不像DX11那样把渲染状态归为几类。按DX11的归类,同样也适应DX9的API。
2、VertexDeclaration从VertexBuffer里改成封装在VertexShader里。
这里要说明一下,VertexDeclaration封装在VertexBuffer里本来就是不太合理的,因为VertexBuffer就是一个Buffer,实际上和顶点格式关系不太大。而且,dx11中的inputlayout的创建还依赖于shader的创建代码,因此,必须要把vertexdeclaration移到vertexshader里。而这种做法会引起DX9的一个问题,下面会说明到。
3、引擎所有渲染都用上shader,全面抛弃固定管线。
正如上面说到,如果vertexdecalaration的创建要依赖于shader,那么固定管线下就不能再自己创建vc(vertexdeclaration)了,而考虑到引擎要支持双渲染器,所以有些操作要统一,就不保留固定管线了。
4、GPU参数设置的调整
之前GPU的参数更新封装在一个类GPUParameter里,主要是负责GPU参数的值的设置,但随着DX11的加入,这里问题就出来了。DX9下面,没有constantbuffer的概念,只有一个一个参数设置到寄存器,而原来引擎的设计就是针对DX9的这套机制来实现的。所以,现在引擎作出调整,在dx9渲染系统下建一个类D3D9GPUParameters继承自GPUParameter,DX9下如何设置参数在这个类下实现。
5、RenderTarget的接口改变
DX11下是把所有RenderTarget放到一个数组中然后设置进去的,而DX9是一个一个设置进去,所以当要实现multirendertarget的时候,如果引擎要适应两种渲染器,那只能用DX11的设置方法了。

posted @ 2012-10-03 08:19 狂烂球 阅读(546) | 评论 (1)编辑 收藏

2012年7月18日 #

关于VertexDeclaration的设计改进。

     摘要: vertexdeclaration在引擎中,原来是直接放在vertexbuffer里面,当设置这个vertexbuffer的时候再设这个declaration,在DX9中看似没问题,因为每个vertexbuffer都有自己的顶点格式。  阅读全文

posted @ 2012-07-18 22:40 狂烂球 阅读(1322) | 评论 (0)编辑 收藏

2012年5月6日 #

引擎关于插件模式开发的思考

     摘要: AIREngine已经支持插件式的开发,即不需要开发人员在工程上连接某个DLL和lib,直接通过LoadLibrary的形式加载。  阅读全文

posted @ 2012-05-06 11:17 狂烂球 阅读(1831) | 评论 (2)编辑 收藏

仅列出标题  下一页