全景图片到Cubemap算法

时间:2015-06-10 10:04:25

标签: algorithm skybox

我遇到了问题。我想创建一个应用程序,允许人们在天空盒视图中观看他们用手机拍摄的全景照片。

为此,我需要将照片切片到cubeMap中。我在互联网上搜索了一个算法,但我找不到任何东西(我能理解)。

有些程序正在从全景图片中做天空盒,但我不知道他们的算法:/

1 个答案:

答案 0 :(得分:0)

简单的方法是将图像保持原始格式并使用天空柱体而不是天空盒。然后,您可以根据顶点的高度和角度应用纹理坐标,并完成。

如果要使用天空盒,可以使用以下方法计算像素着色器中的正确纹理坐标:

u = atan(fragWorldPosX - cameraWorldPosX, fragWorldPosZ - cameraWorldPosZ) * scale1;
v = 0.5 + (fragWorldPosY - cameraWorldPosY) * scale2;

其中scale1scale2是指定图片水平和垂直视野的参数。

在圆柱体和盒子中都不需要顶部或底部表面。