D3D11和D3D12多线程渲染框架的比较(一)
1. 前言 D3D12伴随DirectX12自2014年正式发布以来已经近3年多时间了。遗憾的是我最近才有时间仔细研究D3D12接口及编程方面的内容。D3D12给我总体的感觉用一句话来概括就是——D3D12是一个“显卡...
DirectX12(D3D12)基础教程(十)——DXR(DirectX Raytracing)基础教程(上)
目录 1、前言 2、准备工作 3、Raytracing Shader 3.1、Raytracing Shader整体框架介绍 3.2、全局变量 3.2.1、渲染目标Unordered Access 2D纹理变量 3.2.2、三角形网格变量 3.2.3、常量缓冲 3...
DirectX12(D3D12)基础教程(九)——多线程渲染BUG修正及MsgWaitForMultipleObjects函数详解
1、前言 距离该系列文章上一篇文章已经有近半年多时间了,大家一定很好奇,为什么不继续下去了呢?说好的光追渲染去哪了呢?OK,请大家稍安勿躁,首先...
DirectX12(D3D12)基础教程(八)——多显卡渲染基础、共享纹理、多GPU同步
目录 1、前言 2、为什么要多显卡渲染 3、多显卡渲染核心原理 3.1、多GPU拓扑模型及工作方式 3.1.1、隐式多显卡系统 3.1.2、显式多显卡系统 3.1.3、链接的多显卡系统 3.1.4、无链接的多显卡系统 ...
DirectX12(D3D12)基础教程(七)——渲染到纹理、正交投影、UI渲染基础
目录 1、前言 2、渲染到纹理 3、调试支持 4、正交投影 5、UI渲染基础 6、本章完整代码链接 1、前言 记得那是在差不多10多年前,我在工作中认识了一位好兄弟小杨。那时他刚毕业,...
DirectX12(D3D12)基础教程(六)——多线程渲染
目录 1、前言 2、为什么要多线程渲染 3、多线程 3.1、什么是线程 3.2、进程的主线程 3.3、线程的入口函数 3.4、创建线程 3.5、CreateThread示例 3.6、C/C++创建线程函数(...
DirectX12(D3D12)基础教程(五)——理解和使用捆绑包,加载并使用DDS Cube Map
目录 1、前言 2、加载DDS 3、捆绑包(Bundles) 4、完整代码 1、前言 这一次距上一篇教程又隔了有一段时间了,如果你看了之前的教程的话,马上就会想到悲催的我是不...
DirectX12(D3D12)基础教程(四)——初识DirectXMath库、使用独立堆创建常量缓冲、理解管线状态对象、理解围栏同步
目录 1、前言及本章内容提要 2、初识DirectXMath库 3、使用独立堆创建常量缓冲 4、理解管线状态对象 5、理解围栏同步 6、完整代码 1、前言及本章内容提要 经过了之前3篇教程的跨度有点大的学...
DirectX12(D3D12)基础教程(三)——使用独立堆以“定位方式”创建资源、创建动态采样器、初步理解采取器类型
目录 1、前言 2、显卡架构和存储管理 3、创建默认堆并在其上以“定位方式”创建2D纹理 4、动态采样器 5、完整代码 1、前言 经过了第二部分教程的“折腾”之后,后面的教程我觉得应该顺...
DirectX12(D3D12)基础教程(二)——理解根签名、初识显存管理和加载纹理、理解资源屏障
目录 1、前言及本章内容提要 2、初步理解和使用根签名 3、使用WIC库加载图片 4、D3D12内存管理导论——上传堆和默认堆 4.1、D3D12中创建资源的三种方式 4.1.1、提交方式(CreateCommit...
关于下载、编译及运行DirectX Raytracing Sample Code (DXR)若干小问题及解决方法
伴随Nvidia公司全新一代RTX20XX系显卡的发布,微软公司也及时的更新了配套的DXR演示代码。下载地址:https://github.com/Microsoft/DirectX-Graphics-Samples/releases 在下载页...
VS2017编译WRL的Callback模版函数兼容性问题及解决方法
近来一直在研究DXR的示例代码,并在其中看到例子中大量的使用了WRL的新模版类代替ATL的老三样的模版类,使用最多的就是COM智能指针Microsoft::WRL::ComPtr类。在聚合使用D3D的接口...