Direct3D是底层图形应用程序编程接口(Application Programming Interface,API),即可在应用程序中对图形处理器(Graphics Processing Unit,GPU)进行控制和编程。图形处理器即GPU显卡,我们可以借此硬件加速渲染虚拟3D场景。
例如,如果要向GPU提交一个清除某渲染(如清屏)的命令,我们就可以调用Direct3D中的ID3D12GraphicsCommandList::ClearRenderTargetView接口。随后,Direct3D层和硬件驱动会协作将此Direct3D命令转换为系统中GPU可以执行的本地机器指令。也就是说,只要GPU支持当前所用的Direct3D版本,我们就无须考虑它的具体规格和硬件控制层面的实现细节。为此,GPU的生产厂商如NVIDIA、Intel和AMD等公司就必须与Direct3D团队一同合作,为用户提供与Direct3D设备兼容的驱动。
Direct3D 12相较于上一个版本Direct3D 11除了添加了一些新的渲染特性以外,还在性能优化方面大大减少了CPU开销,同时改进了对多线程的支持。为了达到这些性能目标,Direct3D 12的API较Direct3D 11更偏于底层。另外,API抽象程度的降低使它更趋于具体化,与现代GPU的架构更为契合,因此也就促使开发者要付出比昔日更多的努力。当然,使用这种更复杂的API所得到的回报是:性能的提升。
Direct3D 概述
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原文链接 最近在 iOS 开发中做了较多动画相关的编程工作。因此想借此机会深入了解了一下 iOS 动画及渲染相关原...
- 1 前言 一直想沿着图像处理这条线建立一套完整的理论知识体系,同时积累实际应用经验。因此有了从使用AVFounda...