DirectX11 高级篇

DirectX11 With Windows SDK--37 延迟渲染:光源剔除

前言 在上一章,我们主要介绍了如何使用延迟渲染,以及如何对G-Buffer进行一系列优化。而在这一章里,我们将从光源入手,讨论如何对大量的动态光源进行剔除,从而获得显著的性能提升。 在此之前假定读者已经读过上一章,并熟悉了如下内容: 计算着色器 结构化缓冲区 DirectX11 With Windo ... »

DirectX11 With Windows SDK--36 延迟渲染基础

前言 随着图形硬件变得越来越通用和可编程化,采用实时3D图形渲染的应用程序已经开始探索传统渲染管线的替代方案,以避免其缺点。其中一项最流行的技术就是所谓的延迟渲染。这项技术主要是为了支持大量的动态灯光,而不需要一套复杂的着色器程序。 为了迎接这一章的项目,会对原来的代码有许多改动,并且会有许多引申的 ... »

DirectX11 With Windows SDK--35 粒子系统

前言 在这一章中,我们主要关注的是如何模拟一系列粒子,并控制它们运动。这些粒子的行为都是类似的,但它们也带有一定的随机性。这一堆粒子的几何我们叫它为粒子系统,它可以被用于模拟一些比较现象,如:火焰、雨、烟雾、爆炸、法术效果等。 在这一章开始之前,你需要先学过如下章节: 章节 11 混合状态 15 几 ... »

DirectX11 With Windows SDK--33 曲面细分阶段(Tessellation)

前言 曲面细分是Direct3D 11带来的其中一项重要的新功能。它引入了两个可编程着色器阶段以及一个固定的镶嵌处理过程。简单来说,曲面细分技术可以将几何体细分为更小的三角形,并以某种方式把这些新生成的顶点偏移到合适的位置,从而以增加三角形数量的方式丰富网格细节。但为什么不在创建网格之初就直接赋予它 ... »

DirectX11 With Windows SDK--27 计算着色器:双调排序

前言 上一章我们用一个比较简单的例子来尝试使用计算着色器,但是在看这一章内容之前,你还需要了解一些缓冲区的创建和使用方式: |章节| | | | "深入理解与使用缓冲区资源" | 这一章我们继续用一个计算着色器的应用实例作为切入点,进一步了解相关知识。 "DirectX11 With Windows ... »