在越来越多的人讨论Cg存留问题的时候,Cg 3.1突然发布了。主要的改进有:
Cg语言支持uniform buffer。
增加了OpenGL Unified Buffer Object(UBO)。
增加了翻译成OpenGL GLSL version 110和120的支持。
新的tessellation例子。
新的uniform buffer例子。
各个例子都加上了VC10的工程文件。
不知道NV怎么了,给出来的下载链接居然是错误的。正确的是http://http.developer.nvidia.com/Cg/cg_3_1_0010.html,有兴趣的朋友可以看看。
AMD的OpenGL驱动问题很多,是个众所周知的事情。以前我也写过《OpenGL驱动的陷阱:ATI篇》和《OpenGL驱动的陷阱:ATI篇,后续》来阐述这个问题,当时最新的驱动是Catalyst 10.10。过了一年多的时间,AMD的驱动和KlayGE的代码都有了不少变化,情况又如何呢?
失败的例子
在去年的驱动上,发现的问题主要有三个(ticket #58):
Deferred Rendering和Global Illumination中,GI的效果只在第一帧出现。没找到原因。
Detailed Surface和JudaTex Viewer中,纹理显示混乱。没找到原因。
GPU Particle System和Particle editor中,粒子没有显示出来。GS编译失败。
更新到Catalyst 12.1后(也可能在11.12或者11.11就更新了,我没测试) ...
从KlayGE 4.0开始,不但有为了下一版本开发的短期任务,还有一些中长期研发的任务。其中之一就是HLSL bytecode to GLSL编译器。现在KlayGE里的shader主要由HLSL写成,通过#ifdef的土办法兼容Cg。对D3D11来说可以直接使用,但对于OpenGL和OpenGL ES 2就得大费周折了。那种情况下,shader需要经过Cg编译器编译成传统的GLSL,在经过我自己的token级别的编译器转换成现代的GLSL,然后才能使用。
为什么不直接用Cg?看看Cg runtime在ATI卡上的表现吧。
为什么不用传统的GLSL?NV的驱动有一套attribute和index之间的绑定规则,比如gl_Position一定是0,gl_Normal一定是6(或者某个数,但是个常量),而且无法通过API来获取预定义attribute的i ...
[zh]
经过长时间的筹划,今天正式宣布开始次世代评测软件KlayMark的开发。
简介
KlayMark将以KlayGE为引擎,定位为一款集各种先进渲染技术于一身的跨平台评测软件。在提供赏心悦目的画面同时,对系统的性能作出综合评价。不论是PC平台还是移动平台,KlayMark将提供统一的计分方式,使得不同平台之间的得分具有可比性。
虽然动用到许多新技术,但KlayMark仍会保持极高的效率、较低的配置、良好的跨平台能力等特点。
发布计划
KlayMark的源代码将迟于二进制版本发布,类似Doom和Quake的方法。
由于平台的差异,KlayMark 1.0的发布将分拨进行。
Wave 1:预计开发周期1年。Windows平台支持D3D10+和OpenGL,Android平台支持Tegra ...
[zh]
glloader,KlayGE游戏引擎的一个子项目,是一个OpenGL扩展载入库。它可以载入OpenGL 1.0-4.2,OpenGL ES 1.0-2.0,同时也支持WGL、GLX、EGL和其他GL/GLES扩展,只要编写xml脚本就能自动生成扩展载入代码。glloader有一个 XML格式的数据库,包含了GL/GLES的所有入口函数、标示和类型定义。
在这个新版本中,glloader有了Android版,同时GL/GLES/EGL registry里的所有最新的扩展也都支持了。
请从这里下载。
[/zh]
[en]
The glloader, a subproject of Klay Game Engine, is an OpenGL extension loading library. It supports OpenGL core 1.0 to 4.2, OpenGL ES core 1.0 to 2.0, as well as WGL, GLX, EGL and other ...
AMD昨天发布了Catalyst 11.12 WHQL驱动。对开发者来说,最大的好处是正式支持了OpenGL 4.2!虽然从11.10 Preview 3开始,Catalyst就支持OpenGL 4.2,但正式版总是返回到了4.1。这是AMD第一个正式支持4.2的驱动。
Catalyst 11.12桌面版下载:
Cat 11.12 Win7 64-bit
Cat 11.12 Win7 32-bit
Cat 11.12 XP 64-bit
Cat 11.12 XP 32-bit
Catalyst 11.12移动版下载:
Cat 11.12 Mobility Vista / Win7 64-bit
Cat 11.12 Mobility Vista / Win7 32-bit
至此,主流显卡驱动都支持了OpenGL 4.2。(Intel?Intel也算主流?)
OpenGL 4.2发布当天,NVIDIA就发布了支持OpenGL 4.2的驱动。现在AMD也发布了支持4.2的新驱动Catalyst 11.8 Preview。
Windows版下载
Linux版下载
详细信息请看这里。
[zh]
KlayGE游戏引擎的子项目glloader是一个OpenGL扩展载入库。它支持OpenGL核心1.0到4.2,OpenGL ES核心1.0到2.0,同时也支持WGL、GLX、EGL和其他GL/GLES扩展。glloader有一个XML格式的数据库,包含了GL/GLES的所有入口函数、标示和类型定义。
请从这里下载。
[/zh]
[en]
The glloader, a subproject of Klay Game Engine, is an OpenGL extension loading library. It supports OpenGL core 1.0 to 4.2, OpenGL ES core 1.0 to 2.0, as well as WGL, GLX, EGL and other GL/GLES extensions. The glloader also includes a datebase of all entries, tokens and typedefs in GL/GLES in XML format.
You can download it ...
在SIGGRAPH 2011上,Khronos正式发布了OpenGL 4.2的规范,把最新的图形功能带给了最先进最为广泛应用的跨平台2D和3D图形API。完整的规范文档可以从这里下载。
OpenGL 4.2的新功能有:
GL_ARB_texture_compression_bptc
GL_ARB_compressed_texture_pixel_storage
GL_ARB_shader_atomic_counters
GL_ARB_texture_storage
GL_ARB_transform_feedback_instanced
GL_ARB_base_instance
GL_ARB_shader_image_load_store
GL_ARB_conservative_depth
GL_ARB_shading_language_420pack
GL_ARB_internalformat_query
GL_ARB_shading_language_packing
GL_ARB_map_buffer_alignment
这些功能同时以核心和扩展的形式提供 ...
上篇文章讨论了两个API在功能上的交集,以及互操作的方法。本篇作为系列的结局,将讨论一些平台相关的问题。
平台
长久以来,一直可以听到一种说法,D3D只能在Windows上用,而OpenGL可以用在所有平台。那么,我们就来看看在各个平台上,几种3D API的可用性。
桌面平台
Windows
Windows 平台在这方面相当全面,D3D11、D3D10、D3D9、OpenGL、OpenGL ES都支持(需要注意的是,只有Vista+支持D3D10和D3D11)。由于OpenGL 4.1可以建立OpenGL ES的context,NV和AMD的驱动都提供了原生的OpenGL ES。这也为浏览器中WebGL的实现提供了方便。
Mac OS X
Mac OS X所支持的OpenGL比较老旧,也不支持D3D和OpenGL ES。
Linux
Linux的主打API是OpenG ...