上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页
  2011年12月18日
摘要: 转载请注明出处为KlayGE游戏引擎继glloader移植到Android之后,KlayGE也可以在Android上执行了。虽然,严格来说,只是能跑最最基本的空框架。由于我没有Android真机,模拟器又无法执行OpenGL ES 2,所以我的测试方法是在最老的Asus EeePC上执行Android x86。空框架EmptyApp目前可以顺利执行:是的,只有Clear,没有文件读取、没有字体渲染。但作为第一步,这是必不可少的。 阅读全文
posted @ 2011-12-18 15:19 龚敏敏 阅读(1681) 评论(0) 推荐(1) 编辑
  2011年12月8日
摘要: 转载请注明出处为KlayGE游戏引擎glloader,作为KlayGE的一个子项目,是OpenGL扩展载入库,可以载入OpenGL 1.0-4.2,OpenGL ES 1.0-2.0,以及WGL、GLX等OpenGL扩展。只要编写xml脚本就能自动生成扩展载入代码。在王锐的帮助下,glloader完成了移植到Android的工作。目前glloader可以用NDK r6和r7进行编译,在模拟器和真机Xoom上均测试通过。目前,支持Android的glloader代码可以在hg上找到。正式版本glloader 4.0将会在晚些时候发布。这里有一个在Android NDK中使用glloader的例子 阅读全文
posted @ 2011-12-08 11:52 龚敏敏 阅读(1658) 评论(0) 推荐(0) 编辑
  2011年12月2日
摘要: 转载请注明出处为KlayGE游戏引擎上一篇分析了KlayGE中实现实时全动态GI的方法,本篇是这个系列的完结篇,主要讲流水线的最后一段:Post process。Post process在KlayGE 4.0的Deferred Rendering中,post process主要有HDR、AA和color grading。下面将分别讲述它们的改进。HDR在KlayGE 3.12用了filmic tonemapping之后,HDR部分就几乎没有别的改变。这里唯一的变化是最终输出的float4,把亮度存在A通道上。这是为了后面FXAA的需要。AA在Deferred框架中,无法使用硬件AA曾经是个恼人 阅读全文
posted @ 2011-12-02 11:22 龚敏敏 阅读(2209) 评论(0) 推荐(0) 编辑
  2011年12月1日
摘要: 转载请注明出处为KlayGE游戏引擎上一篇解决了透明物体的渲染问题;本文将挑战另一个实时渲染的神话,实时全局光照(GI)。实时全动态GI目前direct lighting在游戏中日趋成熟,比较前卫的游戏引擎已经不满足于diect lighting的效果了,逐渐开始尝试indirect lighting。早期的方法有通过离线渲染light map来实现静态场景、静态光源的GI。接着出现了PRT,可以处理静态场景、动态光源。CE3用了Light Propagation Volumes的方法,不需要预计算,可以产生动态场景、动态光源的diffuse GI。不过其速度和质量确实不敢恭维。难道就不能有全 阅读全文
posted @ 2011-12-01 10:14 龚敏敏 阅读(3086) 评论(2) 推荐(1) 编辑
  2011年11月30日
摘要: 转载请注明出处为KlayGE游戏引擎上文讲到了如何把信息挤入有限的G-Buffer,另一个在实际中面临的问题是如何渲染透明物体。透明物体游戏中透明物体是不可缺少的,对于Deferred Rendering来说,透明物体一直是痛苦的。常见的做法是在deferred rendering的场景之上用forward shading来单独渲染透明物体,但那样就意味着必须单独实现一整套forward shading的流水线。这对于维护和扩展都是很不利的,对性能也很有影响。在KlayGE 4.0里,我用的方法被称为Deep G-Buffer。其基本过程是,把第一篇所描述的Deferred Rendering 阅读全文
posted @ 2011-11-30 11:18 龚敏敏 阅读(2813) 评论(0) 推荐(0) 编辑
  2011年11月29日
摘要: 转载请注明出处为KlayGE游戏引擎上一篇讲了在KlayGE 4.0中,Deferred Rendering的流水线改进。本篇继续讲G-Buffer的变化。 G-Buffer布局 前面提到了G-Buffer改成了MRT,那么现在就来比较一下新老G-Buffer的区别。老G-Buffer的安排如下: 老G-Buffer是4个通道、每个通道都是fp16的RGBA16F格式。其中normal用Spheremap Transform的方式映射到2个通道;depth单独存一个通道;specular和shininess挤在一个通道内,整数部分为specular * 100,小数部分为shinines... 阅读全文
posted @ 2011-11-29 11:34 龚敏敏 阅读(3968) 评论(0) 推荐(1) 编辑
  2011年11月28日
摘要: 转载请注明出处为KlayGE游戏引擎Deferred Rendering在KlayGE中已经出现比较长时间了,我也写过系列文章来阐述KlayGE中的延迟渲染。在将要推出的KlayGE 4.0中,Deferred Rendering进入了渲染系统的核心,可以作为更通用更方便的一个渲染封装来使用。在功能上,KlayGE 4.0中的Deferred Rendering也有了长足的进步。本系列将着重于解析这些新改进。流水线先来看看Deferred Rendering的流水线。在流水线方面,第一个比较大的变化是,G-Buffer改成了MRT的,用类似Deferred Shading的fat G-Buff 阅读全文
posted @ 2011-11-28 11:29 龚敏敏 阅读(2685) 评论(1) 推荐(1) 编辑
  2011年11月14日
摘要: 转载请注明出处为KlayGE游戏引擎From http://android-developers.blogspot.com/2011/11/updated-ndk-for-android-40.htmlToday we are releasing an updated version of the Android NDK, now in revision 7. The updated NDK lets developers who are using native code get started with the new native APIs available in Android 4. 阅读全文
posted @ 2011-11-14 16:20 龚敏敏 阅读(2648) 评论(1) 推荐(1) 编辑
  2011年11月7日
摘要: 转载请注明出处为KlayGE游戏引擎本文的目的不是为了完整地把Python 3.2移植到Android,只是希望编译出能用在自己程序里的链接库。完成boost 1.47的移植之后,下一个目标就是Python 3.2。目前Python只有2.6.2非官方地移植到了Android(见P4A),他们迟迟不开始移植3.x,主要原因是他们认为3.x没用-_-。看来这件事情只能自己做了。由于Python 3.x和之前的版本有着巨大的区别,其难度完全不可预测。准备工作需要下载 Python 3.2.0 Crystax’s NDK r6 Cygwin P4Aconfigure按... 阅读全文
posted @ 2011-11-07 13:29 龚敏敏 阅读(5911) 评论(1) 推荐(1) 编辑
  2011年11月2日
摘要: 转载请注明出处为KlayGE游戏引擎在PC上的C++开发中,boost已经很普遍。但对于Android这样的移动平台呢?由于KlayGE正在移植Android,作为依赖库之一的boost也必须移植过去。官方的boost并没有提供Android支持,看来得自己做了。受MysticTreeGames的Boost-for-Android启发,我想用最新的Crystax NDK来编译boost 1.47。准备工作需要下载 boost 1.47 Crystax’s NDK r6 MysticTreeGames的Boost-for-Android补丁首先,MysticTreeGam... 阅读全文
posted @ 2011-11-02 17:21 龚敏敏 阅读(5867) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页