微软视觉系
- 来源:互联网周刊 smarty:if $article.tag?>
- 关键字: smarty:/if?>
- 发布时间:2009-11-24 09:36
微软亚洲研究院网络图形组用计算机展现质、色、光、影的极致,诠释最直观、震撼的科学之美。
在微软自主研制的Xbox游戏机里打斗,你可以感受到栩栩如生的虚拟场景:鳞片经过阳光折射在剑龙粗糙的身体上泛着光,水波泛起层层涟漪如同置身湖边,你甚至可以聆听头朝下跳入水中时激起一圈圈水花,感受躲避敌人时草叶扫过脸颊的瞬间。
“我想凡是做图形学研究的人,都有一种强烈的完美主义倾向,我们组的人都概莫能外。”微软亚洲研究院网络图形组主任研究员童欣1999年加入微软,在计算机上呈现极致的视觉感受一直是他和同事追求的目标。
微软亚洲研究院网络图形组的研究领域主要集中在微软的图形系统和平台以及DirectX和XDK游戏平台。对于网络图形组来说,把创新技术转化到产品只是第一步,接下来就像用彩线织布,网络图形组提供彩线,开发者再用彩线织出各种样式。
“在过去的十年里,驱动整个图形学发展的关键就是GPU(图形处理器)的发展,随着游戏和影视图像质量越来越逼近,我们希望两者最后能有一样的生产流程。”Xbox上的真实细腻的显示,正是网络图形组利用前沿的图形技术创造的一条“彩线”。伴随着Windows7的发布,网络图形组的创新研究也将影响更多的人,童欣的梦想也越来越接近现实。
windows7里的中国智慧
微软的新一代操作系统WindOWS7有一个鲜为人知的特性——自带了DirectX11,支持了名为DirectCompute的GPGPU(图形处理器通用计算)编程接口。也就是说,Windows7成了第一个原生支持GPGPU的操作系统。有了对GPGPU的支持,Windows7向众多的开发人员和用户开启了使用GPU进行并行计算的大门。
“过去的图形芯片的厂商,会发布一些专有的API,或者一些专有的程序帮助用户来做开发。这样问题就出现了:用户不仅需要对硬件有很好的了解,而且当用户要将应用迁移到另一个GPU上是很困难的,意味着程序要重写。”童欣对记者说。在过去的几年里,因为游戏和用户对娱乐需求的驱动,GPU的能力越来越强。同时,开始用GPU做一些通用的计算。而DirectX11在GPU上,提供了一套通用于不同GPU的编程语言。
“从最终的用户来讲,Windows7提供了很多体验,从开发者角度来讲,全新平台提供了很多新的可能性,去开发更好的、更新的应用。”童欣说。
如何体现出GPGPU的强大威力,怎样才能向其他开发人员演示如何使用新的GPGPU接口?
为此,网络图形组开发了两项基于GPGPU(图形处理器通用计算)核心技术:DTC(离散纹理压缩)和ITess(并行几何镶嵌)。
创新之美
影响图像效果有两方面,一个是模型本身网格的精细程度,包括凹凸等立体的几何细节,一个是色彩的变化(材质、纹理的变化)。为了在这两方面提升图像效果,网络图形组可谓绞尽脑汁。
从早期的《玩具总动员》到最新的《冰河世纪3》,大屏幕上那些圆润精细的模型都少不了细分算法的功劳。但是,这个算法在传统上只能由CPU完成,因为它涉及到许多不规则的操作,需要串行地一步步执行。如果硬要用GPU来实现,就必须要涉及到大量的外部IO,降低了细分的效率,同时细分的程度也有限制。DirectCompute带来的新功能使得开发人员可以更灵活和高效地利用GPU,把那些不规则操作并行化,而不用任何多余的外部IO。这样一来,GPU就可以并行地全速执行细分。没过多长时间,网络图形组就诞生出了第一个原型演示,并给这个算法起了个名字:iTess,意思是无限细分算法(infinitytessellation)。它可以把输入的粗糙模型进行无限的自适应细分,得到用户需要的更为精细的模型。后来,这个演示顺利地成为了DirectX11SDK的一个例子。
“可以想象,第一,我送给GPU的数据是很少的数据。第二,我在GPU上可以生成很多的数据,最后显示的质量可以达到很高。一方面CPU的计算减少了,另一方面传输也减少了。这对于游戏和三维形体显示来讲,这是非常有价值的事情。”
为了显示图片的良好效果,一方面要有一个比较精细的几何模型。另一方面要有非常漂亮的颜色和纹理变化细节。这样带来的问题就是存储量很大,传输也很费时间。于是要做一些压缩。网络图形组很快提供了一种新的纹理压缩算法,将DirectX11的计算型渲染器用于纹理贴图压缩。新算法质量更高,用户可以快速地看到这个效果,计算也比以前快了几百倍;对于效果而言,也是很大的提升。
“最大的难点在于我们把这个算法写出来之后,我们要经过很多的讨论研究,怎么让它中间的数据结构相关性最小、生成数据结构最小,这样它可以最有效地生成最后的结果。”尽管并不容易,但对于微软亚洲研究院的研究员们来说,挑战就意味着突破。
挑战光影极限
“PC上的GPU从无到有,大概用了两三年的时间,就超越了当时最先进的图形工作站能达到的图形效果,甚至提供了更多的编程的特性。而微软研究院集中了世界上最优秀的一批图形学的研究员,研发了一系列基于GPU的算法和软件。”回想起微软在图像学方向的一步步摸索和创新,童欣充满感慨。
2003年,微软亚洲研究院网络图形组的研究成果——凸凹的感觉树干,登上了ACMSiggraphComputerGraphics的封面。在世界顶级学术杂志上发表论文,也就意味着代表了站在了图形学的研究的前沿。这一技术随后被应用于之后发布的Vista系统。
“在DirectX11和Windows7上开发这个平台,只是第一步。下一步面临的更重要问题,就是如何充分使用这一平台,研发一系列算法和工具,缩短开发流程带给用户更真、更好的光影效果?”童欣说,“而通用GPU的计算,除了一些图形的应用,我们更希望把GPU应用到非图形计算上。这就需要进一步研究利用DirectX11设计一些更好的API、开发工具,让原来熟悉CPU计算的开发者快速地实现GPU的一些应用,自由的探讨这方面应用的可能性。”
图形学的一个目标是带给用户真实世界一样的视觉体验。目前HDTV(数字电视)的分辨率已经能达到1920×1080,PC显示器的分辨率甚至可以达到更高,这就意味着说我们的游戏可以做到更高的分辨率。童欣希望有一天,人眼看到的精细程度和制成图像的显示精细程度是没有差别的。
“分辨率、光影效果,我们都希望能达到与电影一样的程度,同时带给用户交互的体验。”尽管还有很多的工作要做,童欣和同事们仍在“偏执”地不断挑战质、色、光、影的极致,诠释最直观、震撼的科学之美。
……
在微软自主研制的Xbox游戏机里打斗,你可以感受到栩栩如生的虚拟场景:鳞片经过阳光折射在剑龙粗糙的身体上泛着光,水波泛起层层涟漪如同置身湖边,你甚至可以聆听头朝下跳入水中时激起一圈圈水花,感受躲避敌人时草叶扫过脸颊的瞬间。
“我想凡是做图形学研究的人,都有一种强烈的完美主义倾向,我们组的人都概莫能外。”微软亚洲研究院网络图形组主任研究员童欣1999年加入微软,在计算机上呈现极致的视觉感受一直是他和同事追求的目标。
微软亚洲研究院网络图形组的研究领域主要集中在微软的图形系统和平台以及DirectX和XDK游戏平台。对于网络图形组来说,把创新技术转化到产品只是第一步,接下来就像用彩线织布,网络图形组提供彩线,开发者再用彩线织出各种样式。
“在过去的十年里,驱动整个图形学发展的关键就是GPU(图形处理器)的发展,随着游戏和影视图像质量越来越逼近,我们希望两者最后能有一样的生产流程。”Xbox上的真实细腻的显示,正是网络图形组利用前沿的图形技术创造的一条“彩线”。伴随着Windows7的发布,网络图形组的创新研究也将影响更多的人,童欣的梦想也越来越接近现实。
windows7里的中国智慧
微软的新一代操作系统WindOWS7有一个鲜为人知的特性——自带了DirectX11,支持了名为DirectCompute的GPGPU(图形处理器通用计算)编程接口。也就是说,Windows7成了第一个原生支持GPGPU的操作系统。有了对GPGPU的支持,Windows7向众多的开发人员和用户开启了使用GPU进行并行计算的大门。
“过去的图形芯片的厂商,会发布一些专有的API,或者一些专有的程序帮助用户来做开发。这样问题就出现了:用户不仅需要对硬件有很好的了解,而且当用户要将应用迁移到另一个GPU上是很困难的,意味着程序要重写。”童欣对记者说。在过去的几年里,因为游戏和用户对娱乐需求的驱动,GPU的能力越来越强。同时,开始用GPU做一些通用的计算。而DirectX11在GPU上,提供了一套通用于不同GPU的编程语言。
“从最终的用户来讲,Windows7提供了很多体验,从开发者角度来讲,全新平台提供了很多新的可能性,去开发更好的、更新的应用。”童欣说。
如何体现出GPGPU的强大威力,怎样才能向其他开发人员演示如何使用新的GPGPU接口?
为此,网络图形组开发了两项基于GPGPU(图形处理器通用计算)核心技术:DTC(离散纹理压缩)和ITess(并行几何镶嵌)。
创新之美
影响图像效果有两方面,一个是模型本身网格的精细程度,包括凹凸等立体的几何细节,一个是色彩的变化(材质、纹理的变化)。为了在这两方面提升图像效果,网络图形组可谓绞尽脑汁。
从早期的《玩具总动员》到最新的《冰河世纪3》,大屏幕上那些圆润精细的模型都少不了细分算法的功劳。但是,这个算法在传统上只能由CPU完成,因为它涉及到许多不规则的操作,需要串行地一步步执行。如果硬要用GPU来实现,就必须要涉及到大量的外部IO,降低了细分的效率,同时细分的程度也有限制。DirectCompute带来的新功能使得开发人员可以更灵活和高效地利用GPU,把那些不规则操作并行化,而不用任何多余的外部IO。这样一来,GPU就可以并行地全速执行细分。没过多长时间,网络图形组就诞生出了第一个原型演示,并给这个算法起了个名字:iTess,意思是无限细分算法(infinitytessellation)。它可以把输入的粗糙模型进行无限的自适应细分,得到用户需要的更为精细的模型。后来,这个演示顺利地成为了DirectX11SDK的一个例子。
“可以想象,第一,我送给GPU的数据是很少的数据。第二,我在GPU上可以生成很多的数据,最后显示的质量可以达到很高。一方面CPU的计算减少了,另一方面传输也减少了。这对于游戏和三维形体显示来讲,这是非常有价值的事情。”
为了显示图片的良好效果,一方面要有一个比较精细的几何模型。另一方面要有非常漂亮的颜色和纹理变化细节。这样带来的问题就是存储量很大,传输也很费时间。于是要做一些压缩。网络图形组很快提供了一种新的纹理压缩算法,将DirectX11的计算型渲染器用于纹理贴图压缩。新算法质量更高,用户可以快速地看到这个效果,计算也比以前快了几百倍;对于效果而言,也是很大的提升。
“最大的难点在于我们把这个算法写出来之后,我们要经过很多的讨论研究,怎么让它中间的数据结构相关性最小、生成数据结构最小,这样它可以最有效地生成最后的结果。”尽管并不容易,但对于微软亚洲研究院的研究员们来说,挑战就意味着突破。
挑战光影极限
“PC上的GPU从无到有,大概用了两三年的时间,就超越了当时最先进的图形工作站能达到的图形效果,甚至提供了更多的编程的特性。而微软研究院集中了世界上最优秀的一批图形学的研究员,研发了一系列基于GPU的算法和软件。”回想起微软在图像学方向的一步步摸索和创新,童欣充满感慨。
2003年,微软亚洲研究院网络图形组的研究成果——凸凹的感觉树干,登上了ACMSiggraphComputerGraphics的封面。在世界顶级学术杂志上发表论文,也就意味着代表了站在了图形学的研究的前沿。这一技术随后被应用于之后发布的Vista系统。
“在DirectX11和Windows7上开发这个平台,只是第一步。下一步面临的更重要问题,就是如何充分使用这一平台,研发一系列算法和工具,缩短开发流程带给用户更真、更好的光影效果?”童欣说,“而通用GPU的计算,除了一些图形的应用,我们更希望把GPU应用到非图形计算上。这就需要进一步研究利用DirectX11设计一些更好的API、开发工具,让原来熟悉CPU计算的开发者快速地实现GPU的一些应用,自由的探讨这方面应用的可能性。”
图形学的一个目标是带给用户真实世界一样的视觉体验。目前HDTV(数字电视)的分辨率已经能达到1920×1080,PC显示器的分辨率甚至可以达到更高,这就意味着说我们的游戏可以做到更高的分辨率。童欣希望有一天,人眼看到的精细程度和制成图像的显示精细程度是没有差别的。
“分辨率、光影效果,我们都希望能达到与电影一样的程度,同时带给用户交互的体验。”尽管还有很多的工作要做,童欣和同事们仍在“偏执”地不断挑战质、色、光、影的极致,诠释最直观、震撼的科学之美。
关注读览天下微信,
100万篇深度好文,
等你来看……