Невозможно создать текстуру! Ошибка SDL_image: неверный рендерер - PullRequest
0 голосов
/ 27 октября 2019

Я хочу преобразовать поверхность в текстуру, я получаю сообщение об ошибке "Невозможно создать текстуру! Ошибка 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.

...