0

我想要 OpenGL 输出和球面投影来制作 360 视频。

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

我需要这样的东西: 在此处输入图像描述

我怎么能有这个输出?

任何想法?

4

1 回答 1

2

这取决于您期望使用的确切投影。对于简单的球形投影,您可以使用以下片段着色器将四边形渲染到目标纹理中:

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)

于 2017-05-20T08:58:21.373 回答