Skip to content
按照先前的计划,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上只要0.3ms,在NVS 4200M这种低端移动显卡上也只要2.5ms。目前仍存在一些优化的空间,以后速度还能更快。 打开volumetric light,静帧的效果没有动起来好看: 关闭volumetric light:
NVIDIA的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、Intel或者自动切换。但这个是静态的,每次切换都得重启,肯定不是我们想要的。 在右键菜单中控制 在exe文件的图标上按右键,菜单里有一个“用图形处理器运行”的项,里面可以选择NV卡或者Intel卡。有趣的是,如果你在程序中枚举adapter,总会返回两块 ...
前言:对tangent frame的压缩,其实在2008年做All-frequency rendering of dynamic, spatially-varying reflectance这篇paper的过程中,就曾在茶余饭后讨论过这个事情。这其实是个很trivial的问题,但看到Crytek和Avalanche分别在两年的SIGGRAPH talk上都煞有介事地提到这个问题,才想写这篇blog介绍一下。 Avalanche Studios的Emil Persson,也就是Humus,在SIGGRAPH 2012上的talk Creating Vast Game Worlds中提到了他们在游戏中如何压缩顶点数据,其中对于tangent frame的压缩与去年Crytek的Spherical Skinning with Dual-Quaternions and QTangents的压缩方法极其相似。但在两者的介绍中,由于某些原因,总有一些细节的陷阱没有提到。 ...
SIGGRAPH这几年有个著名course叫Advances in Real-Time Rendering in Games,每次都能介绍很多最新而且实用的real time rendering方法。其内容的质量相当高。 今年的文档终于放出来了,大家可以在这里找到。
在刚刚结束的SIGGRAPH 2012上,Cyril Crassin提出的Sparse Voxel Octree(SVO)极其热门,几乎每个涉及到real time rendering的course和talk都免不了提及SVO。加上UE4将会采用SVO、idTech6早就说了将会采用SVO,更是起到了推波助澜的作用。那么SVO是什么,它能解决什么样的问题呢? SVO简介 Voxelization 传统的mesh都表示成以三角形和四边形为单位的图元。而在SVO里,图元是更为简单和离散的voxel。每个voxel有其中心位置、大小等信息,但不需要考虑相互之间的拓扑关系。各种求交计算也变得简单了。从mesh转成voxel表达的过程就称为voxelization。 Voxelization的方法也是逐步发展过来的。从基于CPU的方法,到NVIDIA基于一层一层渲染 ...
在OpenGL 4.3发布的同时,Khronos同时宣布了OpenGL ES 3.0。由于从OpenGL 3.3和4.2里吸取了大量内容,OpenGL ES 3.0给移动平台带来了许多原本只有桌面才有的功能。其中包括: 对渲染流水线的多项增强,用于加速高级视觉效果:遮挡查询、transform feedback、instanced rendering和支持4个或更多render target。 高质量的ETC2 / EAC纹理压缩成为标准,这样就不再需要给每个平台不同格式的纹理。 新版本的GLSL ES shading language,完整地支持整数和32位浮点操作。 极大地增强了纹理功能,包括保证支持浮点纹理、3D纹理、深度纹理、顶点纹理、NPOT纹理、R/RG纹理、固定纹理、2D纹理数组、通道交换、LOD和mip level钳制、无缝cube ma ...
在SIGGRAPH 2012上,Khronos发布了OpenGL 4.3的spec,其中最主要的更新就是增加了compute shader!这里有spec的链接: OpenGL 4.3 Core Profile Specification (updated August 6, 2012) OpenGL Shading Language 4.30.6 Specification (updated August 3, 2012) 扩展的更新列表包括: GL_ARB_arrays_of_arrays:允许在GLSL中使用多维数组,比如float f[4][3]。 GL_ARB_ES3_compatibility:提供了EAC和ETC2纹理压缩格式。 GL_ARB_clear_buffer_object:用一个常量来清除buffer object。 GL_ARB_compute_shader:引入了一个新的shader stage,类似于D3D11的compute shader。 GL_ARB_copy_image:在纹理和渲染缓冲区之间 ...
在The Valve Linux Team的博客上看到他们把Left 4 Dead 2移植到Linux,并通过一定的优化,使得速度神奇般地超过了Windows OpenGL和Windows D3D(315 FPS vs 303.4 FPS vs 270.6 FPS)。原文在这里。他们还分析了Windows上OpenGL和D3D的性能差异,结论是在每个batch,OpenGL驱动都比D3D少了一个几毫秒开销。 不过这里比较的应该是D3D9,如果用D3D11的话情况可能会有所区别。毕竟,D3D11的调用开销远小于D3D9,API call的数量也少得多。
经过多名成员几个月的努力,KlayGE 4.1在上个月底顺利发布!与以往不同的是,在KlayGE 4.1的开发过程中,已经把一些ticket规划如KlayGE 4.2,并在六月中旬已经提前进入了开发阶段。另外,由于有了KlayMark的需求,在计划KlayGE 4.2的过程中也会有所考虑。 时间线 这里列出几个重要的时间点,以供进度参考。 2012年11月30日,feature complete:所有功能都已经完成,没完成的推迟到下一个版本。 2012年12月15日,code complete:完成所有代码,除非特殊情况,否则不能在改变接口。 2012年12月31日,release:正式发布KlayGE 4.2。 必然出现 这些特性一定会出现在KlayGE 4.2中。其中有些需求来自于KlayMark。 Volume ...
[zh] 经过KlayGE团队半年的通力合作,今天KlayGE 4.1正式发布了!这个版本主要注重性能的提升和现有功能的改进,为次世代评测软件KlayMark的开发做好准备。KlayGE 4.1的主要更新如下: 完全使用cmake工程 字体读写成为独立的库 屏幕空间反射(由王清源完成) FFT镜头效果 性能无损的立体显示 (由王锐完成) 加速全局光照(由陈顺斌完成) 碰撞检测函数(由朱晓阳协助完成) 增强了对OpenGLES的兼容 支持大气散射效果 支持SSGI Effect的JIT系统 增加了新的工具 增加了教程 3DSMax导出插件增强 从此处下载KlayGE 4.1。 KlayGE 4.1仍然使用双协议:开放源代码的GPL和封闭的KlayGE Proprietary License ...