1

我想使用 GLSL 几何着色器来查看线条并确定放置纹理注释的位置,同时考虑到当前的 ModelView。似乎我仅限于每次调用只能获得 4 个顶点(使用 GL_LINE_STRIP_ADJACENCY),但我需要的是要评估的整个线带。

我可以使用其他一些原始类型(例如多点,如果在 GL 中有等价物),但重要的一点是我想考虑所有几何图形,而不仅仅是一部分。

是否有一种扩展类型可以为几何着色器提供额外的顶点?或者除了使用几何着色器之外还有更好的方法吗?

4

1 回答 1

3

没有任何机制可以让您访问整个渲染的原始流。基元可以任意大,因此它们可以轻松超过 GPU 具有的任何合理的内部缓冲区大小。因此,实现这一点是不切实际的。

可以将数组绑定为缓冲区纹理,然后从那里读取数据。但这会非常慢,因为每个 GS 调用都必须处理数百个顶点。这并没有完全利用 GPU 并行性。

如果您只想在某物附近放置一个文本标签,您应该指定一个顶点或某物作为注释应该去的地方。

于 2013-03-26T17:00:43.960 回答