Я работаю над проектом, чтобы текстурировать сферу с изображением jpeg и с некоторыми клавиатурными навигационными клавишами для пользователя, который вращает сферу вправо или влево. Проблема в том, что я попытался использовать SOIL для загрузки изображения, и он был успешно загружен, но проблема - медленная обработка вращения сферы ... любая помощь!OpenGL медленная обработка при загрузке jpeg-изображения с использованием SOIL
это как я загрузить изображение JPEG в seoarate метода вызывается один раз в основном методе
void loadtexture()
{
tex_2d[0] = SOIL_load_OGL_texture(
"filename",
SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS);
printf("Image loaded successfully.. ");
if(tex_2d[0]==0) {
printf("SOIL loading error: '%s'\n", SOIL_last_result());
}
glBindTexture(GL_TEXTURE_2D, tex_2d[0]);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);//GL_NEAREST
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
}
и это, как я создаю мои сферы и применить текстуру к нему
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, tex_2d[0]);
GLUquadricObj* esphere2 = gluNewQuadric();
gluQuadricTexture(esphere2, true);
gluQuadricNormals(esphere2, GLU_SMOOTH);
glEnable(GL_CULL_FACE);
gluSphere(esphere2, 4, 50, 50);
gluDeleteQuadric(esphere2);
Нам нужно будет увидеть, что ваш исходный код может даже помешать догадаться о том, что заставляет его работать медленно. Можем ли мы увидеть ваш цикл визуализации и объявление сферы? В идеале [минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve) – WearyWanderer
@mallahyk: Ух, зачем размещать код в комментариях? Просто отредактируйте свой вопрос и вставьте его туда. – datenwolf