【发布时间】:2014-08-12 22:56:20
【问题描述】:
基本问题:对于 OpenGL,是否可以让着色器程序使用单个 glDrawArrays 调用(使用 GL_POINTS)在每个顶点绘制不同的点精灵?
更多信息: 我有一个可以显示数千个 2D 轨道的 OpenGL 桌面程序(在 WPF 应用程序中使用 SharpGL)。部分地,轨迹是一系列时间戳点,并且根据可变 CurrentTime 周围的时间跨度显示部分点。每个点的其他属性决定了该点的颜色。每个轨道绑定它的顶点数组、颜色数组和时间戳数组,并调用 glDrawArrays 来渲染它的点。着色器程序会完成剩下的工作。
我最近开始使用点精灵来为不同类型的轨道赋予不同的符号来表示它们的点。我想根据每个点的其他属性在轨道上给出不同的符号。我想为每个轨道调用一个 glDrawArrays 来做到这一点。所以想法是一个精灵数组可以解决问题(对每个顶点应用不同的精灵)。这可能吗?我错过了更好的解决方案吗?
【问题讨论】:
标签: opengl point-sprites