|
|
1
7
以下是我如何让我可怜的人缩小点数的方法:
顶点着色器:
你可以在片段着色中做你想做的任何事情,但是你必须自己计算颜色、灯光和纹理。 |
|
|
2
2
撇开glsl不谈,做你想做的事情是非常简单的距离衰减。在透视投影中,可以看到物体的投影大小随距离呈四次方减小,只需使用二次因子即可。 如果要使用手动设置的点大小,例如距眼睛150个单位的距离,只需使用1/(150^2)作为二次因子(对于常量和线性因子为零,如果有任何情况,您可能需要使用一些较小的数字,如0.01作为常量因子,以避免可能被零分割)。 |
|
|
3
1
根据我的经验,点尺寸衰减不值得麻烦。您最好编写一个非常简单的glsl顶点明暗器,根据自己执行的计算手动设置点大小。我花了大约半天时间从零开始学习实现这一目标所需的所有GLSL。 GLSL代码可能与以下几行代码一样简单:
在哪里?
|
|
|
4
0
只需在pmviewer.sourceforge.net中查看,代码使用点精灵,每个点都有自己的颜色和大小来模拟体积渲染: 顶点明暗器是: 顶点着色器
像素着色
只需将粒子发送到GPU:
然后渲染它们:
|