Мне нужно добавить текстуру земли в glutSolidSphere.Проблема в том, что я не могу понять, как заставить текстуру растягиваться по всей сфере и при этом иметь возможность вращаться.
Мы включаем текстуры с помощью.
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glEnable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
//drawcode...
с использованием GL_SPHERE_MAP в параметре вместо GL_OBJECT_LINEAR заставляет текстуры выглядеть правильно, но они не могут вращаться.
Параметры, которые я использую для текстуры:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
Я понимаю, что GL_REPEAT накладывает текстуру на мозаику, а использование GL_CLAMP вместо этого дает мне один раз текстуру объекта, но я не могу заставить ее растягиваться по всей сфере.
Кто-нибудь знает, как правильно текстурировать glutSolidSphere?