OpenGL几何着色器

本文介绍了OpenGL中的几何着色器(GS),它允许开发者修改原始顶点,改变拓扑或增加几何形状。文章详细讲解了如何使用GS创建广告牌,使矩形始终面向相机。广告牌技术常用于创建森林中的树木等对象,以节省资源并增加视觉深度。通过GS,可以计算从顶点生成的三角形数,以及如何通过向量运算将矩形旋转到相机。文章提供了源代码分析,展示了如何在GS和顶点着色器中实现广告牌方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenGL几何着色器简介

我们早就开始使用顶点和切片着色器,但实际上我们错过了一种类型,称为几何着色器(GS)。这种类型的着色器是由微软在DirectX10中引入的,然后被添加到OpenGL内核的3.2版本中。当 VS 针对顶点启动,而 FS 针对像素运行时,GS 对原始值运行。这意味着,如果我们绘制三角形,则每个 GS 调用将只收到一个三角形;如果我们绘制线,那么只有1行等,这给GS一个独特的模型视图,其中顶点之间的关系可供开发人员使用,允许基于这些知识构建新的方法。

如果顶点着色器在任何情况下只接受 1 个顶点,并且只发出 1 个顶点(即它不能在旅途中创建或删除顶点),则 GS 可以修改通过它的原始值。更改可以是:

更改传入基元的拓扑。GS 可以接受任何类型的基元,但仅输出点、剥线和三角形剥线的列表(下文将解释脱衣舞等拓扑)。
GS 接受一个原始元,并且可以完全删除它,也可以发送一个或多个原始元(这意味着它可以释放比接收的更小、更多的顶点)。这种能力被称为成长几何。在本课中,我们利用这两种可能性。
几何着色器是可选的。如果在没有 GS 的情况下编译,基元将直接从顶点着色器切换到分段着色器。这就是为什么我们能够达到这一点,而

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值