问题标签 [gl-triangle-strip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

opengl - 有没有办法在用三角形条带绘制的网格上实现类似行进正方形的东西?

我目前正在使用一系列三角形条绘制网格。我正在使用它来渲染一个高度场,并在顶点着色器中完全生成顶点数据,而无需任何输入缓冲区,只使用顶点和实例索引。这一切都很好,并且非常有效。

然而,我现在发现自己也需要在这个网格上实现边界线。这里明显的解决方案是行进广场之类的。基本上,我想要实现的是这样的:

我想要的图表

黑点表示网格中属于某些集合的顶点,我想对红线内的区域进行着色,而不是在红线外进行着色。

天真地,这似乎很容易:为顶点添加一个值,对于集合中的顶点为 1,对于集合之外的顶点为 0,并根据插值是否高于或低于 0.5 进行不同的渲染,例如。

但是,因为它被渲染为三角形条带,所以这并不完全有效。在实践中,由于它被渲染为三角形条,最终看起来像这样:

在此处输入图像描述

所以,一半的边缘有效,一半的结果是丑陋的方形楼梯。

几天来,我一直试图绞尽脑汁,是否有一些技巧可以用来生成不同的顶点值,或者进行比 >0.5 更复杂的测试,以在不放弃良好和简单的三角形条带,必须提前实际生成几何图形,但我想不出一个。

有没有人处理过类似的问题?我缺少一些聪明的解决方案吗?

我在 Metal 中执行此操作,但我不希望这在很大程度上取决于所使用的特定 API。

0 投票
1 回答
67 浏览

c++ - 使用 TriangleStrip 渲染单个三角形会渲染一个矩形

我正在尝试使用三角形条来渲染三角形,但这个词是我得到了一个矩形。

这是我的客户端应用程序代码。我硬编码点和索引,创建一个 VBO 和一个索引缓冲区,然后调用 glDrawElements。

我的顶点着色器:

还有我的片段着色器:

编辑:添加渲染结果的屏幕截图。 结果

0 投票
1 回答
47 浏览

c++ - 使用 TRIANGLE_FAN 渲染两个圆

我试图在 OpenGL 中渲染一个圆柱体,首先使用 TRIANGLE_FAN 开始渲染顶盖和下盖。我将所有顶点数据存储在一个 VBO 中,并为每个上限创建两个索引缓冲区。顶盖被正确渲染,但底盖根本没有被渲染,您可以在快照中看到它。

这是我的客户端应用程序。

我检查了我的顶点数据生成函数,它们是正确的。

这是我的结果的快照。 从侧面盖帽

顶盖正确渲染