我正在渲染一个顶点粒子系统,然后将其分割为几何着色器中的四边形,并纹理化/渲染为点 Sprite 。然后,它们的大小会根据它们距相机的距离而缩放。我试图将场景的每一帧渲染成立方体贴图。因此,基本上我将六个摄像机放置到场景中,并将它们指向立方体表面的每个方向并保存图像。
我的点 Sprite 大小各异。当它们靠近一台摄像机的边界时,(如果它们足够大)它们同时出现在两台摄像机中。由于点 Sprite 始终面向相机,这意味着当我将立方体贴图包裹回 3D 空间时,它们沿着接缝不是连续的。当这些点非常接近相机时,这一点尤其明显,因为这些点更大,并且进一步延伸到两个相机 View 中。我还进行了一些 Alpha 混合,因此这也可能会导致该问题。
我认为我不能只剔除靠近相机边缘的点,因为当我将所有内容放回 3D 时,我认为会出现一些奇怪的区域,其中云的人口更加稀疏。我的另一个想法是模糊每个相机的边缘,但我认为当我回到 3D 空间时,这也会给我一个奇怪的模糊区域。我觉得我可以在 Photoshop 中手动编辑帧,这样它们看起来就不错,但这会有点痛苦,因为它是 30fps 的动画。
所附图像是立方体贴图的细节。您可以看到 Sprite 未正确排列的水平接缝,以及图像右侧稍微不太明显的垂直接缝。我确信我的相机设置是正确的,因为我在其他场景中使用了相同的相机设置,并且我的立方体贴图看起来很好。
有人有想法吗?
我在 openFrameworks/openGL fwiw 中执行此操作。
最佳答案
关于opengl - 在立方体贴图中跨摄像机渲染点 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31642873/