我正在尝试实现一个点云,其中不同点的大小应根据与它们相关的不确定值而变化。比方说,如果这个值为零,则大小应该是恒定的,如果它接近 1,那么这些点的半径应该越来越多。首先,点的大小应该增加,达到最大值后,它们应该减小直到最小值,依此类推。描述这种现象的函数可能是:
pointSize = x +/- c * pointUncertainty, where x = standard point size
c = scaling constant
根据我的阅读,这可以通过将一个统一的计时器变量传递给我的顶点着色器并计算其中的点大小来实现。但是,所有点应该同时变化,这意味着不确定性为 1 的点和不确定性为 0.5 的点应该同时达到它们的最小和最大值 pointSize。此外,整个过程不应依赖于帧速率。
我不确定完成这项工作的最佳方法是什么,如何最好地实现增加-减少-增加-模式以及在哪里放置必要的 OpenGL (4.2) 命令。
编辑:我仍然希望得到这个问题的答案,因为我不清楚如何实现这种动画效果的整个过程。