共 1,393 篇文章
共 6,621 篇文章及评论
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Archives
帖子来自 nightmare_ 
小谈CAD制图和游戏3D的区别
作者: nightmare_ (1 篇文章) 日期: 十二月 16, 2010 在 7:02 下午
评论 (0)
小谈CAD制图和游戏3D的区别 并不是所有人学3D都是为了做游戏,但如今3D学习资料大多是游戏背景的情况下,会让不少走CAD路线的人走错路。 游戏领域,3D向着实时电影级效果发展,强调视觉效果,为了获得足够的运行时性能,要把尽可能多的计算放到制作阶段预处理。而CAD领域,画线能力远比视觉效果重要,模型往往需要实时编辑,对单纯的三角面的吞吐量需求很高,需要在大量的线和面中作精准的选取操作,而对硬件加速需求上,OpenGL 1.2的功能基本就够了。 这些年GPU技术的飞速发展,主要是为了游戏。但这些改进,大多对CAD影响很小。这也是OpenGL ARB委员会的传统CAD厂商对改进OpenGL并不热衷的原因。与游戏代码若干年就重写一次不同,CAD的程序可不希望经常重写,他们需要一个稳定的API,最好50年都不变,但是新的硬件需要提供更好的性能。这些软件大多推荐用户使用专业级显卡,而专业级显卡的一个特点就是图元吞吐量都非常大。 当然,CAD有时也需要效果迷人的成品图,但这一般都是使用高级离线渲染,多花点时间,做成远胜实时渲染的效果。软件离线渲染器似乎可以算是另一个领域。对于工业3D而言,一般会选用一个现成的离线渲染器,而不是自己花时间写一个。 不过,随着GPU通用计算的兴起,也为CAD领域带来了一些新的可能性。大量的计算,尤其是曲面三角化等,有可能交由GPU来处理。不过,这应该不会导致架构上的变化,而只是一些底层API实现上的优化,因为OpenGL本来就是一个良好的工业3D的绘图抽象层。 但这和游戏领域的需求是矛盾的。OpenGL ARB在争论中曾经提出分成两个profile,一个CAD profile,一个game profile。但这个提议被否决了,因为人们不希望出现两个OpenGL。争论在持续了若干年后终于有了进展,新的方案是一个面向新硬件加速架构的core profile和兼容旧程序的compatibility profile。但这对CAD领域来说仍然是很不理想的,因为这意味着compatibility profile的支持会越来越少,他们早晚得重写渲染代码。至于CAD厂商为什么会接受这个提案,从Autodesk公开的的一篇report里能看出一点,他们颇受参差不齐的OpenGL驱动质量之苦。OpenGL是在硬件加速时代之前的产物,功能繁杂,并不是所有功能组合都可以加速,以致很多驱动实现不但bug多多,而且行为不一。这导致测试、补救的代价非常之高,以致3DSMAX 7之后缺省使用D3D做加速后端。如此,则一个新的精简的OpenGL ...
