【发布时间】:2014-05-15 01:44:18
【问题描述】:
在一个程序中,我打算单独写入大量像素。我猜想使用 vbo、着色器和 GL_POINTS 不是很有效。我的一个想法是在整个屏幕上绘制两个三角形,然后写入片段着色器中的每个像素,尽管我不确定这样做的效率如何?
我使用的是 openGL 3,所以没有使用过时的函数。
【问题讨论】:
-
这真的取决于你想要达到的目标。这里有 POINTS,有写入纹理并将其 blitting 到屏幕,有片段着色器,以及可能对达到特定目标有用的许多其他路径。
-
@derhass 我有很多“粒子”,我打算绘制它们的大小只有一个像素。
-
好吧。对每个粒子使用一个 POINT 听起来并不是很糟糕。
-
@derhass 我相信有更有效的方法
-
@Ryxuma:是什么让你这么想?只要这些点分布稀疏,它实际上是一种非常有效的方法。 Heck point sprites 已被引入以允许使用 GL_POINTS 原始渲染操作绘制复杂形状的粒子。