![]() |
1
7
以下是我如何让我可怜的人缩小点数的方法:
顶点着色器:
你可以在片段着色中做你想做的任何事情,但是你必须自己计算颜色、灯光和纹理。 |
![]() |
2
2
撇开glsl不谈,做你想做的事情是非常简单的距离衰减。在透视投影中,可以看到物体的投影大小随距离呈四次方减小,只需使用二次因子即可。 如果要使用手动设置的点大小,例如距眼睛150个单位的距离,只需使用1/(150^2)作为二次因子(对于常量和线性因子为零,如果有任何情况,您可能需要使用一些较小的数字,如0.01作为常量因子,以避免可能被零分割)。 |
![]() |
3
1
根据我的经验,点尺寸衰减不值得麻烦。您最好编写一个非常简单的glsl顶点明暗器,根据自己执行的计算手动设置点大小。我花了大约半天时间从零开始学习实现这一目标所需的所有GLSL。 GLSL代码可能与以下几行代码一样简单:
在哪里?
|
![]() |
4
0
只需在pmviewer.sourceforge.net中查看,代码使用点精灵,每个点都有自己的颜色和大小来模拟体积渲染: 顶点明暗器是: 顶点着色器
像素着色
只需将粒子发送到GPU:
然后渲染它们:
|
![]() |
Jimmy Yang · 何时需要进行透视分割? 2 年前 |
![]() |
Max Mister · 使用鼠标事件计算相机的位置和旋转 6 年前 |
![]() |
Lane will · OpenGL选择区域 6 年前 |
![]() |
synchronizer · openGL 2D视差滚动纹理撕裂/接缝 6 年前 |
![]() |
Steven Venham · OpenGL单通道到多通道的可行性 6 年前 |
![]() |
Andrew Lundgren · 如何在OpenTK(迷你地图!) 6 年前 |
![]() |
Kevin Su · 无法在opengl中正确绘制我的汽车 6 年前 |
![]() |
user1832287 · 来自细分控制点的边上的瑕疵 6 年前 |