渲染点Sprite跨立方体贴图中的相机

时间:2015-07-26 23:07:44

标签: opengl openframeworks point-clouds particle-system point-sprites

我正在渲染顶点的粒子系统,然后将其细分为几何着色器中的四边形,并将其纹理化/渲染为点精灵。然后根据它们与相机的距离来缩放它们的大小。我正在尝试将场景的每一帧渲染成立方体贴图。所以基本上我将六个摄像机放入我的场景中,并将它们指向每个方向以获得立方体的面部并保存图像。

我的精灵有不同的大小。当它们靠近一个摄像机的边界时(如果它们足够大),它们同时出现在两个摄像机中。由于点精灵始终面向摄像机,这意味着当我将立方体贴图包裹回3d空间时,它们不会沿着接缝连续。当点非常接近相机时,这一点尤其明显,因为点较大,并且进一步延伸到两个相机视图中。我也在做一些alpha混合,所以这也可能导致这个问题。

我认为我不能仅仅剔除相机边缘附近的点,因为当我把所有东西都放回到3D中时,我认为会有一些奇怪的区域,其中云的人口稀少。我的另一个想法是模糊每个相机的边缘,但我认为当我回到3d空间时,这也会给我一个奇怪的模糊区域。我觉得我可以手动编辑photoshop中的帧,所以它们看起来不错,但这是一种痛苦,因为它是一个30fps的动画。

附加的图像是立方体贴图中的细节。您可以看到精灵没有正确排列的水平接缝,以及图像右侧稍微不那么明显的垂直接缝。我确信我的相机设置是正确的,因为我在其他场景中使用了相同的相机设置,我的立方体贴图看起来很好。

有人有想法吗?

我在openFrameworks / openGL fwiw中这样做。

Detail from the cubemap

1 个答案:

答案 0 :(得分:0)

不要面对相机,让它们面对相机的原点?不确定这是否可以解决所有问题,但直觉上我说它应该看起来很接近。也许这已经是你做的了,我不知道。

enter image description here

(我希望这是一个评论,但没有声誉)