这对OpenGL开发人员来说绝对是一条非常好的消息。
根据微软软件开发网络的这篇网络日志(blog),Windows Vista将允许在打开Aero桌面特效合成功能的情况下让OpenGL ICD提供硬件加速。
根据微软的规划,在Windows Vista会有以下三种不同的驱动执行路径:
MSOGL(Windows Vista内置的微软OpenGL驱动) - 这是把OpenGL 1.4的函数转换成D3D来做硬件加速的方式。
Legacy ICD(旧式OpenGL驱动) - 也就是目前在Windows XP上使用的OpenGL驱动。这些驱动还可以在Windows Vista上使用,但是在调用这些驱动来处理OpenGL程序的时候Windows Vista DWM(桌面视窗管理器)会被禁用,也就是说必须禁止Aero合成特效了。
Windows Vista ICD(Windows Vista OpenGL驱动) - 这是在Windows Vista中新引入的专门为第三方OpenGL驱动而设计的执行路径,能够兼容Aero桌面合成特效同时支持全功能的OpenGL硬件加速,但是渲染出来的画面会被发送到桌面视窗管理器作为共享的渲染表面用于桌面合成。
这些共享的渲染表面在合成的时候是由DirectDraw来实现的,但是如果OpenGL程序锁定了图元用于渲染的话,桌面视窗管理器也还是会挂起,因为程序此时提出了“我是一个全屏程序,需要给我整个屏幕来渲染,不管谁正在使用它。”
原文连接:http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx
关于Windows Vista WPF的介绍:http://reviews.zdnet.co.uk/software/os/0,39024180,39218124,00.htm