D3D9On12

微软开发的 DirectX 映射层
授权协议 MIT
开发语言 C/C++
所属分类 应用工具、 操作系统工具
软件类型 开源软件
地区 不详
投 递 者 姜钧
操作系统 Windows
开源组织 微软
适用人群 未知
 软件概览

D3D9On12 是一个映射层,它将图形命令从 Direct X 9 映射到 DirectX 12。D3D9On12 不是 Direct X API 的实现,而是 D3D9 usermode DDI(设备驱动接口)的实现。这意味着它不是一个名为 d3d9.dll 的二进制文件,而是名为 d3d9on12.dll。

当一个应用程序创建一个 D3D9 设备时,他们可能会选择它是一个 D3D9On12 设备,而不是一个原生 D3D9 设备。当这种情况发生时,d3d9on12.dll 会被 D3D9 运行时加载并初始化。当应用程序调用渲染命令时,D3D9 将验证这些命令,然后将这些命令转换为 D3D9 的 DDI 并发送给 D3D9On12,就像任何 D3D9 驱动程序一样。D3D9On12 将接收这些命令,并将其转换为D3D12 API 调用,这些调用会被 D3D12 运行时进一步验证,可选择包括 D3D12 调试层,然后将其转换为 D3D12 DDI 并发送给 D3D12 驱动程序。

构建

为了构建 D3D9On12,必须安装 WDK(Windows Driver Kit),以便为 D3D9On12 提供 d3d10umddi.h,并生成D3D12TranslationLayer_WDK 项目,它承载了一些解析 DXBC 着色器和容器所需的代码。如果 D3D12TranslationLayer 及其子项目 D3D12TranslationLayer_WDK 和 DXBCParser 还没有被包含,那么在用 CMake 构建时,D3D12TranslationLayer_WDK 将从 GitHub 中获取。DxbcSigner.dll 将自动从 NuGet 拉取。

兼容性

如果可能,我们将尝试保持 D3D9 和 D3D9On12 之间的兼容性。

  • D3D11或D3D10中,程序由窗口化切换到全屏,只需要简单的调用 IDXGISwapChain::SetFullscreenState  来改变换链的状态即可实现切换,开发者不用考虑资源丢失与重建的问题。 在D3D9中则不一样,D3D9中调用IDirect3DDevice9::Reset  来重建设备。 在重建设置之前呢,必须得手动释放与这个设备相关联的资源,不然函数调用会失败, 哪些资源是要释

  • 学习目标: Direct3D 与图形硬件的交互方式 COM在 Driect3D 中扮演的角色 基本的图形学概念,如2D图像的存储方式,页面置换和深度缓存 初始化 Derect3D 一种通用的初始化程序结构 Direct3D 概述 Direct3D 是一套 底层图像接口(API) ,借助该API,我们能够利用显卡来绘制 3D 场景。可以把 Direct3D 视作应用程序(最终游戏)与显卡交互的中介,

  • 此篇文章主要讲一些小技巧,针对前面转载的D3D9 GPU Hacks,我们可以做的一些优化。 在做延迟渲染或者其它需要深度的地方使用INTZ格式的纹理,这样可以直接对纹理进行操作,节省了显存和带宽,这样即使在前向渲染的时候也可以获取深度,有了深度信息我们就可以做很多效果,如水的柔边,水边泡沫,景深等效果。 注:以下示例代码均摘自http://developer.amd.com/wordpress/

  • 原帖来自 D3D9 GPU Hacks 其中AMD的这个文档介绍了相关hack的用例 Advanced DX9 Capabilities for ATI Radeon Cards (pdf) D3D9 GPU Hacks I’ve been trying to catch up what hacks GPU vendors have exposed in Direct3D9, and turns

  • 概述 备注:本文主要针对DirectX 9.0版本来讨论的。 在开始这篇文章之前,我们先阐述一下一些名词:DX、DDraw、DirectShow、D3D、DirectX、DirectDraw等。 关系 首先我们理一理他们之间的关系,这些关键词统称DirectX,简称DX,它有一下成员: DirectX Graphics: 集成了以前的DirectDraw(简称DDraw) 和Direct3D(简称

  • 好了,这是DXUT的最后一个实战,接下来我可能会学习下NVDIA FX Composer 2.5以及Shader Debugger,另外准备每周至少一个shader吧,今天任务把<<Pro OGRE 3D Programming>>第4章和第5章搞定,有时间的话再看下FX的帮助文档. 好了上源码: //------------------------------------------------

  • 现在有一个远期目标:写一个带融合的播放器。播放器已经用mpc-hc编译了出来,但融合部分没有。打算中重新学习D3D的知识,在深化学习后,实现融合。 学习Dxdirect SDK版本为Microsoft DirectX SDK (June 2010),SDK中的所有例子已经全部用VS2010重新编译跑过一次。然后,自己尝试实现一些例子。我的目标是实现播放器,用不到3D场景,就想着用LPDIRECT3

  • 不好意思,昨天<<Pro OGRE 3D Programming>>第4章没有搞定,本来想晚上搞出来,一起写博客的,但是最终还是睡觉去了,看来晚上真心不适合学新知识,还是写博客比较好!!!! 昨天用HLSLwithoutEffect和HLSLwithEffect重新写了那个三角形的例子,最终感觉HLSLwithEffect比较方便,可能以后写程序用Effect比较多,好了废话不多说了,直接上源码:

 相关资料
  • #找实习#主要编程语言Java,面试苏州STCA日常实习,面试官是声音好听非常耐心的女性。 第一部分 面试题 自我介绍 根据简历问相应的项目和技术点,Spring相关,简历内容相关 第二部分 算法题 可以使用自己喜欢的IDE,自己写输入输出。 1. 二叉树中序遍历,非递归。不是第一次面试遇到这个问题了,秒了 2. 力扣2578 最小和分割,因为是昨天的每日一题,虽然没做,根据题解思路做出来了。 3

  • 超级和蔼的面试官,说英语也很好听 1.自我介绍 2.介绍项目 3.项目相关问题 3.1 说一下缓存数据库不一致问题,你怎么解决的?为什么? 3.2 说一下redis的特点?支持多大的qps?延迟? 4. 算法题:LeetCode 200. 岛屿数量。 感觉微软考察重点就是算法题,自己用dfs啪一下做出来了,面试官让说说dfs的pros &amp; cons,答:快、简单,但有爆栈的可能。问怎么解决

  • Git https://skyao.gitbooks.io/learning-git/installation/ubuntu1604.html sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git gitbook https://skyao.gitbooks.io/leaning-

  • 问题内容: 在具有并发访问的程序中使用映射时,是否需要在函数中使用互斥体来 读取 值? 问题答案: 读者众多,没有作家可以: https://groups.google.com/d/msg/golang- nuts/HpLWnGTp-n8/hyUYmnWJqiQJ 一个作家,没有读者是可以的。(否则,地图不会太好。) 否则,如果至少有一个作家,而作家或读者至少还有一个,那么 所有 读者 和 作家都

  • 我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示:

  • 前端将这个json发送到我的API 控制器: