在OpenGL中使用点精灵渲染矢量场

在OpenGL中使用点精灵渲染矢量场,opengl,shader,point-sprites,Opengl,Shader,Point Sprites,我想用OpenGL渲染矢量场可视化。现在,我有一个三维立方体,里面装满了我需要用箭头替换的点。我在OpenGL中阅读了很多关于点精灵的内容,它们似乎非常适合我的需要 我还没有真正使用过纹理,因此在与点精灵一起使用纹理时存在一些问题: 首先,仅仅使用纹理就可以轻松地用箭头替换我的点吗?如果是,是否可以使用着色器以任意程度旋转或缩放这些点精灵 如果除了点精灵之外还有其他可能实现这一点,那么听到他们的消息也会很好。我正在使用OpenGL4.2 有没有可能。。。使用着色器以任意度缩放这些点精灵 不,点精

我想用OpenGL渲染矢量场可视化。现在,我有一个三维立方体,里面装满了我需要用箭头替换的点。我在OpenGL中阅读了很多关于点精灵的内容,它们似乎非常适合我的需要

我还没有真正使用过纹理,因此在与点精灵一起使用纹理时存在一些问题:

首先,仅仅使用纹理就可以轻松地用箭头替换我的点吗?如果是,是否可以使用着色器以任意程度旋转或缩放这些点精灵

如果除了点精灵之外还有其他可能实现这一点,那么听到他们的消息也会很好。我正在使用OpenGL4.2

有没有可能。。。使用着色器以任意度缩放这些点精灵

不,点精灵有一个实现定义的大小上限

有没有可能。。。使用着色器以任意度缩放这些点精灵


不,点精灵有一个实现定义的大小上限。

点精灵始终是屏幕对齐的正方形。它们有一个依赖于实现的最大大小

如果您需要这样做,您应该使用将点作为输入并输出四边形(作为三角形条带的4个顶点)的。然后你可以做任何你想做的事


请注意,您应该尝试传递尽可能少的信息,因为您可以摆脱GS。理想情况下,为了获得最佳性能,您应该只输出到
gl_位置和
vec2
,以指示特定位置在四元组中的位置。

点精灵始终是屏幕对齐的正方形。它们有一个依赖于实现的最大大小

如果您需要这样做,您应该使用将点作为输入并输出四边形(作为三角形条带的4个顶点)的。然后你可以做任何你想做的事

请注意,您应该尝试传递尽可能少的信息,因为您可以摆脱GS。理想情况下,为了获得最佳性能,您应该只输出到
gl_位置
vec2
,指示特定位置在四元组中的位置