я хочу иметь вывод OpenGL со сферической проекцией для создания видео 360.
теперь у меня есть лица кубической карты, и они генерируются с помощью 6 перспективных камер.
как я могу получить этот вывод?
Есть идеи?
я хочу иметь вывод OpenGL со сферической проекцией для создания видео 360.
теперь у меня есть лица кубической карты, и они генерируются с помощью 6 перспективных камер.
как я могу получить этот вывод?
Есть идеи?
Это зависит от точной проекции, которую вы собираетесь использовать. Для простой сферической проекции вы визуализируете четырехугольник в целевую текстуру с помощью следующего фрагментного шейдера:
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)
в верхнем правом углу.