Код: Выделить всё
SDL_Surface* ImageLoad(char *file){
SDL_Surface *temp1, *temp2;
temp1 = SDL_LoadBMP(file);
temp2 = SDL_DisplayFormat(temp1);
SDL_FreeSurface(temp1);
return temp2;
}С загрузкой текстуры проблем не возникает.
Код: Выделить всё
SDL_Surface* texture;
texture = SDL_LoadBMP(file);Как мне наложить текстуру, скажем, не такой квадратик?
Код: Выделить всё
glTexCoord2d(0.0,0.0); glVertex2d(-1.0,-1.0);
glTexCoord2d(1.0,0.0); glVertex2d(+1.0,-1.0);
glTexCoord2d(1.0,1.0); glVertex2d(+1.0,+1.0);
glTexCoord2d(0.0,1.0); glVertex2d(-1.0,+1.0);По идее все должно быть вот так...
Код: Выделить всё
glEnable(GL_TEXTURE_2D);
glGenTextures( 1, &texture );
glBindTexture( GL_TEXTURE_2D, texture );но OpenGL не понимает тип данных SDL_Surface и, соответственно, glGenTextures и glBindTexture начинают ругаться на неправильный тип. Как можно преобразовать тип в понятный для OpenGL?
Рассмотрю альтернативные варианты загрузки и наложения текстур
ЗЫ: Делал явное преобразование SDL_Surface* к GLuint*, ошибок компиляции не возникает, но текстура не отображается.