问题标签 [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.
opengl - 有没有办法在用三角形条带绘制的网格上实现类似行进正方形的东西?
我目前正在使用一系列三角形条绘制网格。我正在使用它来渲染一个高度场,并在顶点着色器中完全生成顶点数据,而无需任何输入缓冲区,只使用顶点和实例索引。这一切都很好,并且非常有效。
然而,我现在发现自己也需要在这个网格上实现边界线。这里明显的解决方案是行进广场之类的。基本上,我想要实现的是这样的:
黑点表示网格中属于某些集合的顶点,我想对红线内的区域进行着色,而不是在红线外进行着色。
天真地,这似乎很容易:为顶点添加一个值,对于集合中的顶点为 1,对于集合之外的顶点为 0,并根据插值是否高于或低于 0.5 进行不同的渲染,例如。
但是,因为它被渲染为三角形条带,所以这并不完全有效。在实践中,由于它被渲染为三角形条,最终看起来像这样:
所以,一半的边缘有效,一半的结果是丑陋的方形楼梯。
几天来,我一直试图绞尽脑汁,是否有一些技巧可以用来生成不同的顶点值,或者进行比 >0.5 更复杂的测试,以在不放弃良好和简单的三角形条带,必须提前实际生成几何图形,但我想不出一个。
有没有人处理过类似的问题?我缺少一些聪明的解决方案吗?
我在 Metal 中执行此操作,但我不希望这在很大程度上取决于所使用的特定 API。