3.5 The Geometry Shader
geometry shader在2006年末随着DirectX10的发布被引入到硬件加速的图形流水线中,它在流水线中紧跟在vertex shader之后,并且是可选的。他是SM4.0的必须的部分,不用在早先的shader models中。
geometry shader的输入是一个物体和它的顶点。物体通常是一个mesh中的一个三角形,一个线段或仅仅是一个点。另外,扩展的顶点可以被定义并且被geometry shader处理。特别的,一个三角形外的3个附加顶点可以被传入,一个线段的两个相邻顶点也可以使用。见图3.6。
geometry shader处理这个图元并且输出零个或多个图元。输出的形式是顶点组,线段组或者三角带组。例如,不止一个三角形带可以在一次geometry shader程序调用中输出。重要的是,geometry shader可以根本不生成任何东西。通过这种方法,一个mesh可以通过geometry shader被选择性的修改:增加新的图元和删除某些图元。
geometry shader程序被设置为输入一种类型的物体并输出一种类型的物体,输入输出的类型不需要匹配。例如,可以输入三角形并输出他的图心点。甚至如果输入和输出的物体类型是一样的,每个顶点附载的数据可以被缩减或者扩展。例如,三角形的面法线可以被计算出来并且加入到输出的顶点数据中。类似于vertex shader,geometry shader必须为每个产生的顶点输出齐次裁剪空间的位置。
geometry shader保证输出图元的顺序和输入一致。这影响到性能,因为如果很多shader平行运行,结果必须被保存和排序。作为能力和效率的折中,SM4.0限制每次执行可以生成最多1024个32bit值。所以输入一个树叶生成一千个灌木叶的做法是不可行的。将简单的面棋盘式集中到更复杂的mesh也是不推荐的。这个阶段更多的是应该程序性的修改输入的数据或者做有限的拷贝,而不是大量的复制和放大。例如有一种应用是生成六个变换过的数据副本来同时渲染一个cub map的六个面(8.4.3节)。其他一些能利用geometry shader的算法有:从一个点数据创建不同尺寸的粒子组、毛皮渲染时沿着轮廓挤出鳍状物、为shadow算法找出物体边缘。
3.5.1 Stream Output
标准的GPU流水线是将数据输入到vertex shader,然后光栅化三角形并将数据传递到pixel shader。数据总是沿着流水线走,中间结果不能被访问。stream output的想法在SM4.0中被引入。当顶点被vertex shader(以及可选的geometry shader)处理后,数据除了被发送到光栅化阶段外,还可以被输出进入一个流,即一个有序数组。实际上,光栅化可以整个关闭掉,这样流水线就完全当成一个非图形的流处理器使用了。按这种方法处理的数据可以被发送回流水线,因此允许迭代处理。这种类型的操作对于模拟流水或其他粒子特效非常有用(10.7节)。
分享到:
相关推荐
Real-Time Rendering.3rd.pdf 图片版,凑合用吧
但是根据标题和描述,我们可以推断出有关《Realtime Rendering 3ed 第三版 pdf》的知识点。该书是关于实时渲染技术的权威参考书籍,聚焦于计算机图形学在实时应用程序中的应用,如视频游戏、模拟、可视化等领域。...
Real-Time Rendering, Fourth Edition 实时渲染最新版 第四版PDF,下载地址见文档....
realtime rendering 第三版 英文版 pdf格式
实时渲染4th版(Real-Time Rendering, 4th Edition)由Tomas Akenine-Moller、Erik Haines和Nathan Vella三位专家合著,涵盖了自上一版以来该领域的最新发展和技术进步。本书深入探讨了包括光照模型、阴影技术、纹理...
根据提供的文件信息,我们可以推断出这是一本关于实时渲染技术的专业书籍——《Real-Time Rendering 第四版》。下面将围绕这一主题展开详细介绍,并提取出关键知识点。 ### 实时渲染技术概览 实时渲染(Real-Time ...
Real-Time Rendering 4rd最新版,高清大概800M,详细介绍渲染知识
Real-Time Rendering 4th Edition完整版 全彩 pdf 892MB 这里挂的是百度云链接
Real-Time Rendering 4th Edition(实时渲染第4版) 高清全彩版,图形学/游戏方向实时渲染经典书籍推荐,仅供学习使用。百度网盘下载链接永久有效。
附件为百度网盘链接。...Real-Time Rendering Forth Edition 2018年最新第四版,实时计算机图形学百科全书全新版本,图形学必备,完美pdf版本,非扫描版,可以选择字体,强烈推荐。文件较大,将近1G。
### 高级实时渲染在3D图形与游戏中的应用 #### 核心概念与背景介绍 随着技术的进步和GPU计算能力的不断增强,高级实时渲染技术已成为3D图形和游戏开发领域的重要研究方向之一。该技术旨在提高虚拟世界的交互性和...
Audio Visualization Using ThMAD Realtime Graphics Rendering for Ubuntu Linux 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除
因为本身·很大,大概900m,然而csdn上传只能220m以下,所以分了五卷
《实时渲染》(Real-Time Rendering)第四版是一本在计算机图形学领域内备受推崇的专业书籍。本书由Tomas Akenine-Möller、Eric Haines、Naty Hoffmann、Angelo Pesce、Michał Iwanicki以及Sébastien Hillaire共同...
因为本身·很大,大概900m,然而csdn上传只能220m以下,所以分了五卷
6. **后处理效果**:涵盖抗锯齿、深度缓冲、色调映射、动态模糊、屏幕空间反射等后期处理技术,提升图像质量。 7. **物理模拟**:介绍刚体动力学、流体模拟等物理系统在实时渲染中的应用,使得交互体验更加真实。 ...