上一页 1 2 3 4 5 6 7 ··· 13 下一页
  2012年12月7日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2137KlayGE 4.1支持由王清源提供的屏幕空间反射,但由于只是屏幕空间,反射方向就被局限到跟视线相同的方向。在即将发布的KlayGE 4.2中,这个功能被扩展到了支持多个方向,成为了实时的全方向非平面反射。(虽然7月底就已经实现了这个功能,但到现在才有时间整理出demo…)多方向反射必然需要往不同方向渲染多次场景,而且每一次都必须是带lighting和shading的效果。因此,Deferred rendering layer引入了multi-viewport的功能,只要定义几个不同 阅读全文
posted @ 2012-12-07 14:06 龚敏敏 阅读(1051) 评论(0) 推荐(0) 编辑
  2012年12月5日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2132VS2012 Update 1的安装程序是个web installer的,如果有多台机器都需要update 1,重复下载就很麻烦。今天偶然在这里看到了一个离线安装的方法,经过测试十分有效。方法非常简单,先把web installer下下来,在命令行里用vsupdate_KB2707250.exe /layout即可,数据包会全部下载到指定的目录。接着就可以离线安装了。这个方法的缺点是,所有的补丁包都会一股脑全部下载,包括所有语言的。所以最终会占用将近1G的空间。 阅读全文
posted @ 2012-12-05 12:37 龚敏敏 阅读(7752) 评论(0) 推荐(2) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2125Metro是Win8的一个重要组成部分。对用户来说,Metro给移动和桌面(尤其是触摸设备)带来了全新的体验;对开发者来说,可以把Metro当作一个基于WinRT的新平台。传统程序在Win8上只能以desktop方式执行,可以访问所有传统Win32 API;Metro程序则只能访问一部分通过WinRT暴露出来的API。从开发体验来看,Metro更类似于移动平台的方法,程序需要经过deploy、签名、打包,才能分发。API的差异有很多Win32 API在新的WinRT中已经消失了,需要 阅读全文
posted @ 2012-12-05 12:34 龚敏敏 阅读(1487) 评论(0) 推荐(0) 编辑
  2012年11月26日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2121在KlayGE开发版中,C++11的部分特性第一次被采用。目前用到的有两处,nullptr和强类型enum。所有这些C++11 only的代码都被放入#ifdef /#endif,同时提供了非C++11的替代实现。nullptrnullptr是C++11定义的强类型空指针,用来取代NULL。强类型的保证减少了bug的可能性,相关的介绍很容易找到,这里就不累赘了。在不支持C++11的编译器上,也可以实现一个同样功能的nullptr:123456789101112131415161718 阅读全文
posted @ 2012-11-26 15:33 龚敏敏 阅读(891) 评论(2) 推荐(2) 编辑
  2012年11月13日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2116在压缩tangent frame一文中,我们看到了把tangent frame压缩到4个字节的方法。现在让我们看看如何压缩其他属性,以达到减小顶点数据的目的。顶点属性首先看看完整的顶点都包含了哪些属性:属性类型大小(字节)备注positionfloat312texcoordfloat28tangentfloat312binormalfloat312normalfloat312blend_indexuint416骨骼动画模型才有blend_weightfloat416骨骼动画模型才有总 阅读全文
posted @ 2012-11-13 13:27 龚敏敏 阅读(1906) 评论(2) 推荐(1) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2111最近,在KlayGE的开发版中,正式加入了MeshMLLib这个独立子库。这也是在KlayGE 4.2的计划中。顾名思义,MeshMLLib是用来与KlayGE的模型格式MeshML打交道的库。去年在计划Maya的导出插件时,就想过把3DSMax和Maya的插件后端统一,以简化插件的开发。时至今日,该目标终于完成。MeshMLLib简介MeshMLLib目前可以编译成.lib的库,静态链接到别的程序中。它的目标就是让程序可以很简单地生成.meshml格式的文件,以供KlayGE载入。 阅读全文
posted @ 2012-11-13 13:26 龚敏敏 阅读(608) 评论(0) 推荐(0) 编辑
  2012年10月31日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2074现代3D游戏经常会需要用到decal,子弹孔、脚印……传统的decal渲染从Quake 2时代开始就没怎么变过,通过画一个紧贴着物体的四边形来实现。问题一直很多,比如光照的不一致,z-fighting造成的闪烁,渲染状态的来回切换,等等。那么到了deferred框架中,这种情况会有所好转吗?有趣的是,deferred框架内实现decal不但非常容易:100行之内的代码量,不到20分钟就能完成,而且非常稳定,完全没有上述各种缺点。更有趣的是,deferred的decal被至少三组不同的 阅读全文
posted @ 2012-10-31 12:59 龚敏敏 阅读(3195) 评论(3) 推荐(0) 编辑
  2012年10月15日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2059按照先前的计划,KlayGE 4.2中将加入volumetric light的效果,目前已经由Parsifal Wang实现并集成入引擎中。这里的volumetric light,或者说light shaft,方法上类似于CE和3DMark的做法——把场景渲染得到的depth texture和color texture进行radial blur,得到的结果在通过alpha blend叠加回原先的结果。具体算法可以参考GPU Gems 3的文章。这个方法还是相当快的。在GTX 480上 阅读全文
posted @ 2012-10-15 13:29 龚敏敏 阅读(1069) 评论(0) 推荐(0) 编辑
  2012年9月25日
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2038(对tangent frame的压缩,其实在2008年做All-frequency rendering of dynamic, spatially-varying reflectance这篇paper的过程中,就曾在茶余饭后讨论过这个事情。这其实是个很trivial的问题,但看到Crytek和Avalanche分别在两年的SIGGRAPH talk上都煞有介事的提到这个问题,才想写这篇blog介绍一下。)Avalanche Studios的Emil Persson,也就是Humus, 阅读全文
posted @ 2012-09-25 12:30 龚敏敏 阅读(2251) 评论(1) 推荐(2) 编辑
摘要: 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2052NVIDIA的Optimus技术可以在笔记本上兼顾耗电量和性能,并能做到自动无缝切换。但问题就在于,不想让它自动的时候,该怎么办?在ThinkPad T420s上,NV的独立显卡是NVS 4200M,feature level支持到D3D 11.0;Intel的集成显卡是HD 3000,feature level支持到D3D 10.1。(对feature level还不熟悉的朋友可以看这篇)在BIOS中控制支持Optimus的平台上,在BIOS中可以找到选项,可以选择使用NV、Int 阅读全文
posted @ 2012-09-25 12:30 龚敏敏 阅读(2048) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页