2017-05-20 60 views
0

我想用OpenGL输出球形投影制作360视频。如何在opengl中制作360视频输出

现在我有立方体贴图面,它们是用6个透视相机生成的。

我需要的东西是这样的: enter image description here

我怎么能有这样的输出?

有什么想法吗?

回答

1

这取决于您预计使用的确切投影。对于一个简单的球形投影您呈现一个四到你的目的地纹理以下片段着色器:

uniform samplerCube tex; 
in vec2 texcoord; 
out vec4 OUT; 

void main() { 
    vec3 d = vec3(
     cos(texcoord[0])*cos(texcoord[1]), 
     sin(texcoord[0])*cos(texcoord[1]), 
     sin(texcoord[1]) 
    ); 
    OUT = texture(tex, d); 
} 

texcoord应在右上角(-tau/2,-tau/4)在左下角和(tau/2, tau/4)之间变化。

+0

感谢@ybungalobill,你的解决方案真的很有帮助,但那不完全是我想要的,我终于在这里找到了它:[ShaderToy](https://www.shadertoy.com/view/XsBSDR),无论如何谢谢你你有用的答案。 –

+0

这是一回事。 – ybungalobill