2013年12月26日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2796上一篇我们提到了SSSSS,作为本系列的最后一篇,本文将介绍KlayGE 4.4的OpenGL和OpenGLES插件的改进。OpenGL 4.4KlayGE在OpenGL方面一直是紧跟spec的步伐,这次也不例外。在八月份OpenGL 4.4发布的时候,glloader和KlayGE的OpenGL插件就很快加上了4.4的支持。并且这次把代码彻底过了一遍,很多原先通过扩展实现的功能,都尽量替换成用核心实现的,提高兼容性。经过测试,OpenGL插件在NV和Intel的显卡上所有例子都能正 阅读全文
posted @ 2013-12-26 13:42 龚敏敏 阅读(2639) 评论(1) 推荐(0) 编辑
  2013年12月25日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2785随着半年一个新版本的周期,今天KlayGE 4.4正式发布了!在这个版本的开发中,多名团队成员贡献了自己的代码,也有很多朋友提供了宝贵意见和bug报告。也从SALVIA项目的编译脚本中学习和借鉴了很多经验。这些都为KlayGE的发展和完善做出了贡献,在此表示感谢。KlayGE 4.4的主要更新如下:改进的编译系统尽可能使用MSBuild第三方库使用cmake工程文件自动搜索OpenGLES SDK的目录,简化了编译的配置OpenGL ES 3.0支持Tile-based deferr 阅读全文
posted @ 2013-12-25 11:56 龚敏敏 阅读(2300) 评论(0) 推荐(0) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2774本系列的上一篇提到了KlayGE 4.4将会出现的高质量地形渲染。本篇仍讲一个新功能,Screen Space Sub Surface Scattering(SSSSS)和Translucency。这两个效果都是由团队成员石裕隆实现的。Sub Surface Scattering(SSS)对渲染效果的提升有很明显的左右,尤其是皮肤和植被之类物体。早在GPU Gems 1里就有在texture space作的近似SSS。GPU Gems 3里的方法更是大张旗鼓地用了多次Gaussian 阅读全文
posted @ 2013-12-25 11:55 龚敏敏 阅读(1703) 评论(0) 推荐(0) 编辑
  2013年12月23日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2761本系列的上一篇讲了DR中的一些改进。本篇开始将描述这个版本加入的新功能,高质量地形。原有的地形以前的地形实现和水面的方法一样,都是从Crytek在2008年的老方法改进而来。虽然比projected grid的好得多,并且速度很快,但有一些很明显的缺点:视点移动的时候会抖动。水面比较平,而且有波浪看不出抖动。如果用来做静态地形抖动就会非常明显。尤其是far plane变大之后,远处更明显,所以限制在3000以下。不支持shadow。因为只有产生了视野内的三角形,视野外的地形无法正确投 阅读全文
posted @ 2013-12-23 15:44 龚敏敏 阅读(2069) 评论(0) 推荐(0) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2749上一篇讲了TBDR的实现,本篇继续讲解deferred rendering层的一些重要改进。切换到ESM原先deferred系统用的是VSM,现在切换到开销更小的ESM。具体参见我之前的一篇文章。用ESM之后只需要一个通道,空间占用减少,性能也有所提升。下个版本会进一步改成支持打包到RGBA8的纹理,让不支持浮点纹理的硬件也可以使用ESM。Multi-resolution层KlayGE很早就引入了multi-resolution的概念,用来加速SIL的GI。但原先的MR、SIL和De 阅读全文
posted @ 2013-12-23 15:44 龚敏敏 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2736KlayGE从4.0开始引入deferred rendering层(DR),并且这几个版本都在持续地改进,以提高性能和降低使用难度。在即将发布的4.4里,deferred rendering更是往前跨了一大步,实现了一个初步的Tile-based Deferred Rendering(TBDR)。和常见的TBDR不同之处在于,这里的方法只需要SM3。(其实SM2也没问题,只是如果光源较多,会遇到指令长度限制)Tile-based在传统的deferred rendering中,每个光源 阅读全文
posted @ 2013-12-23 13:34 龚敏敏 阅读(1532) 评论(0) 推荐(0) 编辑
  2013年6月27日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2536经过KlayGE团队半年来的努力,今天KlayGE 4.3正式发布了!在这个版本的开发和测试过程中,很多朋友也提供了宝贵意见和bug报告,为KlayGE的发展和完善做出了贡献,在此表示感谢。KlayGE 4.3的主要更新如下:一个新的子项目KFL脚本引擎(由王锐完成)高质量细节效果改进的Deferred Rendering改进阴影生成(由李渊完成)Deferred框架和GI分离大量重构(论坛里的lcbiotech提出的建议)大范围阴影支持支持官方版Android NDK r8全新的输 阅读全文
posted @ 2013-06-27 12:46 龚敏敏 阅读(1368) 评论(0) 推荐(0) 编辑
  2013年6月13日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2516IE 10 for Windows 7在发布的时候,包含了一个补丁KB 2670838,给Win7带来了DirectX 11.1和DXGI 1.2的部分能力。这个补丁也可以在不需要IE10的时候单独安装。详细的更新内容在这里。比较有意思的是,WARP被升级到支持feature level 11.1了。很遗憾的是,如果装了KB 2670838,PIX for Windows和D3D11_CREATE_DEVICE_DEBUG会受影响,因为DirectX SDK (June 2010)的 阅读全文
posted @ 2013-06-13 16:04 龚敏敏 阅读(906) 评论(0) 推荐(2) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2496长期以来,KlayGE一直是单独执行的,窗口上的UI也都是自己画。很多人都提到这么做给编辑器等应用造成了困难。所以如果适度修改KlayGE的窗口系统,使得KlayGE可以嵌入其他的GUI框架,比如MFC、QT、WPF等,有些时候会方便得多。第一个尝试做这件事情,并且取得成功的在这里。他通过修改Window类,支持从外部传入HWND,让KlayGE复用外部建立的窗口。这么做能顺利地把KlayGE嵌入MFC等框架中。同时,作者也指出了单独这么改仍不能达到完美的程度,“并且由于KlayGE 阅读全文
posted @ 2013-06-13 16:02 龚敏敏 阅读(965) 评论(0) 推荐(0) 编辑
  2013年4月1日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2336一年半之前,在开发KlayGE 4.0的时候,郭鹏就已经设计了一个资源载入系统,可以解决异步载入和重复载入的问题。但我只是实现了一个很粗略的异步载入。随着场景复杂度的需求越来越高,一个完善的资源载入系统也就成为必需。顺着之前的设计思路,我最近终于完成了实现。目标KlayGE的资源载入系统有几个设计要求:至少支持Texture、Model、Effect、Font和Post Processor这五种资源,并能快速扩展支持新的资源。可以选择同步或异步载入。不重复载入资源,以减少浪费。自动化 阅读全文
posted @ 2013-04-01 13:06 龚敏敏 阅读(1303) 评论(2) 推荐(1) 编辑