当前位置: 首页 > news >正文

《实时渲染》第3章-图形处理单元-3.5顶点着色器

实时渲染

3. 图形处理单元

3.5 顶点着色器

顶点着色器是图3.2所示功能管道中的第一阶段。虽然这是直接由程序员控制的第一阶段,但值得注意的是,在此阶段之前会发生一些数据操作。在DirectX所称的输入汇编器[175, 530, 1208]中,可以将多个数据流编织在一起以形成沿管道发送的顶点和图元集。例如,一个对象可以由一组位置和一组颜色表示。输入汇编器将通过创建具有位置和颜色的顶点来创建此对象的三角形(或线或点)。第二个对象可以使用相同的位置数组(以及不同的模型变换矩阵)和不同的颜色数组来表示。数据表示在第16.4.5节中详细讨论。输入汇编器也支持执行实例化。这允许使用每个实例的一些不同数据多次绘制对象,所有这些都使用单个绘制调用。第18.4.2节介绍了实例化的使用。

三角形网格由一组顶点表示,每个顶点与模型表面上的特定位置相关联。除了位置之外,还有与每个顶点相关联的其他可选属性,例如颜色或纹理坐标。曲面法线也在网格顶点处定义,这似乎是一个奇怪的选择。从数学上讲,每个三角形都有一个明确定义的表面法线,直接使用三角形的法线进行着色似乎更有意义。但是,在渲染时,三角形网格通常用于表示底层曲面,顶点法线用于表示该曲面的方向,而不是三角形网格本身的方向。 16.3.4节将讨论计算顶点法线的方法。图3.7显示了代表曲面的两个三角形网格的侧视图,一个是平滑的,一个带有锐利的折痕。

图3.7. 代表曲面(红色)的三角形网格(黑色,顶点法线)的侧视图。左侧平滑的顶点法线用于表示平滑的表面。在右侧,中间顶点已被复制并被赋予两个法线,代表一个折痕。

顶点着色器是处理三角形网格的第一阶段。顶点着色器无法使用描述形成哪些三角形的数据。顾名思义,它专门处理传入的顶点。顶点着色器提供了一种修改、创建或忽略与每个三角形顶点关联的值的方法,例如其颜色、法线、纹理坐标和位置。通常,顶点着色器程序将顶点从模型空间转换为齐次裁剪空间(第4.7节)。一个最小化的顶点着色器必须始终输出这个齐次裁剪空间坐标。

顶点着色器与前面描述的统一着色器非常相似。传入的每个顶点都由顶点着色器程序处理,然后输出许多插入三角形或直线的值。顶点着色器既不能创建也不能破坏顶点,并且一个顶点生成的结果不能传递到另一个顶点。由于每个顶点都是独立处理的,因此可以将 GPU 上任意数量的着色器处理器并行应用于传入的顶点流。

输入组装通常表现为在执行顶点着色器之前发生的一个过程。这是物理模型通常与逻辑模型不同的示例。从物理上讲,获取数据以创建顶点可能发生在顶点着色器中,驱动程序将悄悄地为每个着色器添加适当的指令,对程序员不可见。

随后的章节解释了几种顶点着色器效果,例如用于动画关节的顶点混合和轮廓渲染。顶点着色器的其他用途包括:

  • 对象生成,通过只创建一次网格并使其由顶点着色器变形。
  • 使用蒙皮和变形技术为角色的身体和面部制作动画。
  • 程序变形,例如旗帜、布料或水的移动[802,943]。
  • 粒子创建,通过沿管道发送退化(无区域)网格并根据需要为这些网格分配一个区域。
  • 镜头失真、热雾、水波纹、页面卷曲和其他效果,通过使用整个帧缓冲区的内容作为经过程序变形的屏幕对齐网格上的纹理。
  • 通过使用顶点纹理获取来应用地形高度场[40, 1227]。

使用顶点着色器完成的一些变形如图3.8所示。

图3.8 左边是一个普通的茶壶。由顶点着色器程序执行的简单剪切操作生成中间图像。在右侧,噪声函数创建了一个扭曲模型的场。(图片由FX Composer 2制作,由 NVIDIA Corporation提供。)

顶点着色器的输出可以通过几种不同的方式使用。通常的路径是每个实例的图元,例如三角形,然后被生成和光栅化,并且生成的单个像素片段被发送到像素着色器程序以继续处理。在某些GPU上,数据还可以发送到曲面细分阶段或几何着色器或存储在内存中。以下部分将讨论这些可选阶段。

http://www.jsqmd.com/news/384424/

相关文章:

  • 2026年市面上专业的升降机公司排名,自行走升降机/装卸平台/防爆升降平台/液压升降机/装车平台,升降机工厂如何选 - 品牌推荐师
  • 给老板看的AI能力证明:不止是证书,这3个成果更有效
  • 2026年正规的上海GEO品牌/上海GEO推广综合推荐公司 - 品牌宣传支持者
  • 2026年市面上评价高的安检门生产厂家哪家好,安检仪/金属探测门/智能安检/安检门/安检设备,安检门源头厂家找哪家 - 品牌推荐师
  • 2026年正规的常熟GEO推广/常熟GEO优化市场口碑推荐公司 - 品牌宣传支持者
  • 2026有哪些口碑好的大件物流厂家?一文知晓,大件运输/大件物流,大件物流公司排行 - 品牌推荐师
  • 2026年靠谱的张家港GEO网站/张家港GEO营销行业参考推荐公司 - 品牌宣传支持者
  • 何友院士《人工智能发展前沿》全景解读:从理论基石到产业变革 - 实践
  • G120C自由报文999编程案例:可复用的变频器控制秘籍
  • 2026年正规的太仓GEO网站/太仓GEO优化用户认可推荐公司 - 品牌宣传支持者
  • 2026年靠谱的张家港网站设计/张家港做网站优选服务推荐企业 - 品牌宣传支持者
  • 2026年靠谱的常熟官网建设/常熟外贸网站经验丰富推荐企业 - 品牌宣传支持者
  • doubaoAD.com是做什么的公司? - 品牌2025
  • node PM2 常用命令使用
  • 新手也能上手 10个降AIGC平台测评:专科生降AI率必备攻略
  • node js 性能处理
  • Springboot3+vue3实现增删改查、分页查询、批量删除(下)
  • 给你一张清单 10个降AI率平台测评对比 继续教育必备工具推荐
  • 2026年正规的太仓做网站/太仓网站推广优质推荐汇总公司 - 品牌宣传支持者
  • Spring组件扫描原理解析
  • 2026年推荐上海网站推广/上海网站建设行业参考推荐公司 - 品牌宣传支持者
  • 2026年比较好的无添加海鲜干货/海鲜干货鱿鱼干热门必买清单 - 品牌宣传支持者
  • 2026年质量好的汽车用品硅胶包胶/奶瓶硅胶包胶优质厂商精选推荐(口碑) - 品牌宣传支持者
  • 2026年靠谱的苏州网站设计/苏州做网站企业服务推荐公司 - 品牌宣传支持者
  • 基于西门子 S7 - 200 PLC 齿轮研磨专用机床的液压系统及液压缸设计探索
  • 从此告别拖延,AI论文网站 千笔·专业论文写作工具 VS 文途AI
  • 计算机软件资格考试—Python补充
  • 2026年比较好的轨道交通座椅调角器/扶手调角器行业内口碑厂家推荐 - 品牌宣传支持者
  • 一文讲透|AI论文软件 千笔写作工具 VS 知文AI,专为本科生量身打造!
  • 2026年热门的有氧呼吸面罩/医用呼吸面罩热门厂家推荐汇总 - 品牌宣传支持者