Skip to content

Archive

Archive for April, 2011
上一个帖子提到了在Catalyst 11.4上,KlayGE的OpenGL插件黑屏的情况,现已查明是因为AMD和NVIDIA的GLSL不兼容的原因。NV的驱动上fragment shader可以定义varying out vec4 v_gl_FragData[8]这样的输出数组,但AMD的驱动上不支持。所以我再次修改GLSL生成器,把数组拆成独立变量,解决了问题。但实际上AMD的GLSL预定义了out vec4 gl_FragData[],所以变成预定义可以,自定义不行的情况。估计得等以后他们自行解决吧,目前只能先绕开了。
今天AMD Catalyst 11.4发布了,增强了AMD VISION Engine Control Center / AMD Catalyst Control Center,提高了一些游戏的性能,比较值得注意的是GPGPU方面的增强有。它包含的OpenCL runtime支持APU上的零拷贝(可能是可以直接把一个CPU/APU的内存注册到另一个CPU/APU,类似CUDA 4.0中的功能);并提高了CPU和GPU之间的PCIE传输性能。 杯具的是,KlayGE使用OpenGL插件的话,所有sample在这版驱动上都黑屏,原因有待查明。
GI组的atyuwen同学上个月用KlayGE实现了Multi-resolution Splatting Indirect Illumination的效果,现在开发版本的KlayGE正式加入了Realtime Global Illumination的例子。效果截屏如下: 对比GI关闭的效果: 可以看出间接光照还是蛮明显的。 目前的GI在NVIDIA 9800GT上,1280x800的时候需要花费6.6ms;在GTX 480上需要2.5ms。下一步将要做的改进是: 用light volume的方法优化virtual lighting的速度。 根据BRDF生成不同形状的light volume。 Importance sampling 优化的目标是在9800GT上降低到2.5ms左右。
在NVIDIA的新网页3D Vision and Surround Technology上,提供了一份名为Stereo Unprojection Sample的示例代码。在里面提供的NVAPI和独立的NVAPI在stereo的部分不全相同。这个NVAPI提供了NvAPI_Stereo_SetDriverMode,可以把stereo分成两个模式,Direct和Automatic。Automatic顾名思义就是原先的自动修改VS的模式,而Direct应该就是自己提供左右眼渲染结果,而让NV驱动完成stereo的方法。它也提供了NvAPI_Stereo_SetActiveEye,可以让你设置当前激活的是左眼还是右眼。也就是说,很可能用这种方式直接就可以跨API地直接控制stereo,而不用再像在程序中使用NV 3D Vision一文所说的那么麻烦了。
上一个帖子提到了在NV 270.xx驱动上,OpenGL MRT出问题的情况。经过一些单元测试,我发现那不是个驱动的bug,而是270系列驱动对GLSL的实现更加严格了。在GLSL 1.3,也就是OpenGL 3.0上,gl_FragColor和gl_FragData都被标记为deprecated。原本的驱动仍旧提供了对它们的支持,但270.xx去掉了gl_FragData,所以在需要MRT的时候就得自己定义varying out了。在对GLSL生成器做些许修改之后,KlayGE在OpenGL插件上的MRT都恢复了正常。
继前几天的270.51 Beta之后,NVIDIA正式发布了270.61 WHQL。这标志着NVIDIA已经开启了270系列驱动的大门。这款驱动支持GeForce 6以来的所有桌面Geforce GPU,以及ION桌面GPU。在API方面,它在Geforce 400+的显卡上支持OpenGL 4.1,之前的显卡只支持OpenGL 3.3。在OpenGL扩展方面,和之前的270.51 Beta一样。下载链接: Vista / Win7 64-bit Vista / Win7 32-bit XP 32-bit XP 64-bit 在使用的过程中,我发现270系列驱动在OpenGL下的一些问题。首先是它去掉了对GL_EXT_transform_feedback的支持。所以要么退回到GL_NV_transform_feedback,要么前进至OpenGL 3.0提供的transform feedback。另一个可能是bug的地方在于,MRT虽然可以调 ...
上周出现访问速度骤减的情况,和hostrail沟通后无法解决,于是再次迁移到了linode提供的VPS服务。真是好事多磨啊。
OpenGL ES在移动设备上大行其道,在PC上要开发点东西,一般就需要一个OpenGL ES Emulator。目前常见的模拟器有来自AMD、ARM、Qualcomm和NVIDIA的。他们的能力如何呢?让我们来进行一次简单的横向比较。 基本特性 厂商 AMD ARM 名称 OpenGL ES 2.0 Emulator (已经卖给Qualcomm) OpenGL ES 2.0 Emulator v1.2 模拟目标 AMD handheld GPU Mali 核心版本 2.0 1.x,2.0 扩展 GL_AMD_alpha_test GL_AMD_compressed_3DC_texture GL_AMD_compressed_ATC_texture GL_AMD_logic_op GL_AMD_program_binary_Z400 GL_AMD_writeonly_rendering GL_EXT_texture_filter_anisotropic GL_EXT_texture_type_2_10 ...
这个消息本来上周就要发,但服务器出了问题,一直响应极慢,所以趁今天稍快一点赶紧发出来。 Kinect推出以后一直备受瞩目。在尝试Xbox 360的新功能之时,大家也一直在关心Kinect什么时候能用于Windows。现在Kinect for Windows SDK的官方网站终于上线了。 Coming later this spring, the Kinect for Windows SDK is a programming toolkit that will enable researchers and enthusiasts easy access to the capabilities offered by the Microsoft Kinect device connected to computers running Microsoft Windows 7. With this SDK, you’ll be able to take advantage of: The latest advances in audio processing, whi ...
CUDA 4.0 RC1只有注册人员才能下载,今天NVIDIA放出了CUDA 4.0 RC2,任何人都可以下载了。 更多关于CUDA 4.0的新功能,请看我上个月的帖子:CUDA 4.0真技术解析。