Direct3D 12 尝鲜(五): SDK 更新

原创 2015年05月21日 12:06:54
(转载请注明出处)

又是一个月, 微软在Build2015中公布了不少关于Win10的新闻, 又在N卡公布的支持DX12显卡中看到了我的垃圾显卡(GT640M LE)居然在支持范围,高高兴兴地直接换物理机安装上Win10, 升级了SDK, VS2015变成了RC版. 不过失望了是显卡支持的仅仅是D3D12 level11.0, 不能用level12.0,不知道会不会更新支持.

Win10SDK也更新了, 我们在意的自然是D3D12部分. 对于目前, 改变如下:
1. Helper类/函数 被分离到了direct3dx12还是什么的头文件里面, 但是我翻遍了SDK也没有这个文件,目测在DXSDK里面
2. 函数名/函数参数个数/参数顺序改变
3. 交换链细节改变

前面两个都是无足轻重的, 最多就是麻烦点, 比如新的创建函数

HRESULT WINAPI D3D12CreateDevice(
  _In_opt_  IUnknown          *pAdapter,
            D3D_FEATURE_LEVEL MinimumFeatureLevel,
  _In_      REFIID            riid,
  _Out_opt_ void              **ppDevice
);

只有四个参数了, 比如要选择软件渲染有点麻烦了,需要枚举显卡适配器了.

好的,现在说一下关于交换链的, 在D3D10, 11 以及之前的12中, 交换链可以自动旋转, 比如我们有个交换链有两个缓冲AB.

之前我们写入A, 旋转交换链后, 之后再渲染, 就是自动写入B了.
现在交换后, 还是写入A, 微软说的是为了减少CPU开销.但是我们现在渲染就稍微麻烦了.现在自己还没找到合适的方法.

目前的解决方法一般三种:
1. 每次呈现都修改CommandList
2. 创建数倍于缓冲区的CommandList, 针对不同缓冲区写入
3. 再创建一个临时缓冲区, 都写入到这个缓冲区里面, 呈现时再送入不同的缓冲区.

这里, 我选择的是2, 浪费一点内存, 以换取效率.
这次的例子就仅仅将代码更新, 这次好像能与DirectComposition组件完美交互了:
D3D12

更新后的代码下载地址:
点击这里


Direct3D 12 尝鲜: 基本呈现

微软前几天发布了Win10的开发工具,进行Direct3D12的尝鲜
  • dustpg
  • dustpg
  • 2015年03月29日 18:38
  • 4657

DirectX11 SDK下载地址:

DirectX  11 SDK下载地址: http://download.microsoft.com/download/F/1/7/F178BCE4-FA19-428F-BB60-F3DEE...
  • friendan
  • friendan
  • 2012年11月22日 16:17
  • 33078

关于Vs2010 C#使用DirectX的问题

转载的,就不翻译了…微软把精力放到xna去了。所以推荐大家用XNA,如果非要用托管的DirectX也可以,只不过版本一直是2006年的了。 具体方法: 安装SDK之后 他默认的位置在 C:\W...
  • leestar54
  • leestar54
  • 2011年09月26日 09:44
  • 13898

Direct3D 9.0 SDK

  • 2010年06月04日 15:13
  • 1.71MB
  • 下载

游戏编程之三 DirectX SDK简介

` 第三章 DirectX  SDK简介 第一节 关于DirectX SDK Microsoft DirectX提供了一套非常优秀的应用程序接口,包含了设计高性能、实时应用程序的源代码。Dire...
  • zhangchen124
  • zhangchen124
  • 2016年06月15日 19:17
  • 1508

dx12.0(directx 12) 官方版

dx12.0(directx 12) 官方版 软件大小:42MB 软件语言:简体中文 软件性质:常用软件 软件授权:官方版 更新时间:2014-04-30 应用平台:/Win8/Win7/...
  • u013772860
  • u013772860
  • 2014年05月04日 17:06
  • 629

Direct3D 12 尝鲜(五): SDK 更新

Win10SDK更新, 修改上次例子适应这次更新
  • dustpg
  • dustpg
  • 2015年05月21日 12:06
  • 2461

Direct3D 12 Programming Guide

Some information relates to pre-released product which may be substantially modified before it's com...
  • pizi0475
  • pizi0475
  • 2015年06月29日 10:43
  • 1678

Direct3D 12 尝鲜(二): Fence

正如上节末尾所说, 出现了运行时错误:,这节就是说一下Fence的基本用法
  • dustpg
  • dustpg
  • 2015年03月30日 21:18
  • 2547

DX12工具类d3dx12.h

  • 2016年08月24日 18:18
  • 56KB
  • 下载
收藏助手
不良信息举报
您举报文章:Direct3D 12 尝鲜(五): SDK 更新
举报原因:
原因补充:

(最多只允许输入30个字)