BUILD 2014上有个D3D12相关的讲座,向开发者预览了D3D12的API。比之前的简介详细了许多。这里我谈谈我对这个东西的理解。
Context
这里先对比一下D3D11和12的context,能对它们的API有个大致的印象。
D3D11的context
这张图表达了在D3D11中,context的组成。
其中,最左边的双向箭头表示状态可以Get和Set。橙色方块表示各个stage的资源slot。它们会bind上显存里的各种资源。
D3D12的context
D3D12里面,context变成了这样:
首先,各种状态被合并成了一个,叫pipeline state object(PSO)。这么一来,只需要调用一次API就能设置所有stage的状态。同时,Get接口被去掉了,就剩下Set。不过反正也从来不会去用Get。另外,s ...
[上周GDC,微软正式宣布了DX12和一些细节,这里放个中文翻译的版本]
有什么神奇之处?
这次的DirectX 12引入了新版本的Direct3D:位于DirectX核心地位的图形API。Direct3D是游戏或游戏引擎中最重要的组成部分之一,我们对其进行了重新设计使其比以前更快更高效。由此,Direct3D 12可以渲染更丰富的场景、更多物体,并能更好地利用当前的GPU硬件。而且Direct3D 12不但能用于高端游戏PC,也可以在所有微软的设备上运行。从手机和平板,到笔记本和台式机,当然,还有Xbox One。Direct3D 12就是你期待已久的API。
是什么让Direct3D 12独树一帜?首先,也是最重要的,它提供了一个比以前更底层的硬件抽象,让游戏可以明显改善多线程能力和CPU ...
最近突然出现很多DirectX 12的消息,这里稍微整理一下,对可以确认的消息给个汇总。
DirectX 12将于3月20号在GDC 2014宣布。(来自这里)
有4家GPU厂商将会第一批支持DirectX 12,NVIDIA、AMD、Intel和高通。
和DirectX 11一样,移动平台和桌面平台的接口统一。
XBox ONE也可能会升级到DirectX 12。见入口网页左下角的图标。
驱动开销会减少很多,和Mantle一样的思路。
如果驱动层变薄了,驱动开销变少,性能就有机会和Mantle一样得到不少性能提升。而且驱动的开发也会变容易。但比Mantle更好的是,DirectX 12可以用于各厂商的显卡,不限于AMD。