Я хочу преобразовать поверхность в текстуру, я получаю сообщение об ошибке "Невозможно создать текстуру! Ошибка SDL_image: Неверный визуализатор" (получено из printf ()).
Я уже пытался изменить IMG_Init (флаги) , просто набрав IMG_Init (IMG_INIT_PNG) , кроме того, я попытался SDL_ConvertSurface без преобразования в текстуруне работалМоя IDE - CodeBlocks , при создании кода произошли некоторые сбои, но это не обычное явление, и я не первый раз использую эту процедуру и с Codeblocks . Мои прошлые проекты хорошо компилировались и выставлялись картинки (форматы PNG, JPEG).
Ниже приведена часть функции init (), функции, предназначенной для главного меню из программы:
int flags=IMG_INIT_JPG|IMG_INIT_PNG;
int initted=IMG_Init(flags);
if((initted&flags) != flags){
printf( "SDL_image could not initialize! SDL_image Error: %s\n", IMG_GetError() );
return false;
//renderer init fail
}
else{
//IMG_INIT was a success
SDL_Surface* m_pSurface;
m_pSurface=IMG_Load("Background.png");
if(m_pSurface == NULL){
printf("Error while trying creating surface! SDL_image Error: %s\n",IMG_GetError());
}
m_pTexture= SDL_CreateTextureFromSurface(m_pRenderer,m_pSurface);
if( m_pTexture == NULL ){
//error creating a Texture
printf( "Unable to create texture! SDL_image Error: %s\n",IMG_GetError() );
}
Быть m_pTexture & m_pRenderer две переменные из класса функции init ().
Выходные данные должны показать мой «Background.png», ошибка возникает при создании createTexturefromSurface.