渲染管线之旅|14 索引页
A trip through the Graphics Pipeline 2011 是发布在博客 http://fgiesen.wordpress.com 上的系列文章。主要涉及图形流水线在GPU
中实现的方方面面。包括D3D/OpenGL app
, UMD Driver
, KMD Driver
, GPU
硬件流水线设计等等。是非常好的学习图形学应用,GPU
驱动等相关领域的资料。翻译的目的一方面是对学习的总结;另一方面是为了分享,因为国内在图形学, GPU
相关的资料比较缺乏,导致学习曲线比较陡峭。由于能力欠缺,翻译和理解中肯定存在很多问题,如果发现有问题,烦请交流,避免为后续学习者挖坑。
这部分是图形流水线之旅系列博客的索引页,这个系列主要写D3D/OpenGL
图形管道在GPU
硬件中的实际实现。
图形学相关的程序员都知道,目前有大量关于图形学各方面的文章,它们中有些是对基本概念的概述,也有些是对某些组件细节的详细叙述,但是处于它们之间的材料非常之少,而且这些材料中有很多都是过时的内容。
这个系列的文章主要面向熟悉现代3D API
(至少是OpenGL 2.0+
或D3D9+
的图形编程人员)并想知道它在GPU
中的实现的相关程序员,这并不是面向图形流水线新手的; 如果你还没有使用3D API
,那么大多数内容对你来说都是毫无用处的。我还假设你对当代硬件设计有一个基本的理解——你至少应该知道寄存器、FIFO
、缓存和管道是什么,以及它们是如何工作的(《深入理解计算机系统》中有相关内容,可以参考)。最后,你至少需要了解基本的并行编程机制。GPU
是一台大规模并行的计算机,没有办法绕过并行机制的内容。
一些读者评论说,这是对图形管道和GPU
的一个非常底层的描述。底层还是上层,这完全取决于你站的位置。GPU
架构师称之为GPU
的上层描述。这些内容并不像当新一代GPU
出现时你在官网上看到的眼花缭乱的流程图那么上层,但是,老实说,这种报告往往信息密度非常低的,即使它做得非常绚丽。归根结底,官网上的那些内容并不是要解释各项技术是如何工作的——它只是试图炫耀新产品的科技宣传片。
所以,这个系列的文章试着将它们没有解释的技术原理充实一下。当然,这也就意味着,相比宣传片,技术文章的视觉效果没那么绚丽,也没有那么多的基准测试结果。取而代之的是大量的文本,一些单色图表,甚至是一些公式。
那么这个系列的内容主要就包含下面的这些内容:
- Part 1: 介绍从App到硬件各个层级
- Part 2:
GPU
内存架构和命令的处理 - Part 3:
3D
图形管线概览、顶点处理 - Part 4:纹理和采样
- Part 5:图元处理、
Clip/Cull
, 投影和视图变换 - Part 6:三角形的生成和建立
- Part 7:深度处理、模板处理
- Part 8:像素处理之复制
- Part 9:像素处理之联合
- Part 10:几何着色器
- Part 11:流输出
- Part 12:曲面细分
- Part 13:计算着色器
【翻译声明】翻译中发现其实有很多的名词平常都是直接使用英文来称呼的,强行翻译成中文有些觉得比较别扭。关于名词有更好的译法的烦请指正,谢谢。
- 原文作者:Binean
- 原文链接:https://bzhou830.github.io/post/20190830%E6%B8%B2%E6%9F%93%E7%AE%A1%E7%BA%BF%E4%B9%8B%E6%97%8514/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。