Аргумент SDL Renderer для текстуры, но не нужен для поверхности

0

Я изучаю основы SDL, тогда я впал в это сомнение. Я узнал, что текстура SDL является аналогом GPU поверхности SDL, которая использует процессор. Но для получения поверхности аргумент рендерера не задан, в качестве аргумента дается просто актив, подлежащий загрузке. Но для преобразования аргумента поверхности в текстуру был необходим аргумент. Что мне здесь не хватает?

SDL_Surface* pTempSurface=SDL_LoadBMP("image.bmp");
SDL_Texture* pTexture=SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface);
Теги:
sdl
game-engine
sdl-2

1 ответ

1
Лучший ответ

SDL_Surface не использует SDL_Renderer, он используется только для/для SDL_Texture. SDL_Surfaces копируются из памяти в буфер экрана с помощью SDL_Flip. Поэтому при загрузке растрового изображения в поверхность не требуется рендерер (действительно, рендереры не существовали до SDL 2.0), но когда вы используете CreateTextureFromSurface вам нужно сообщить функции контекста визуализатора, в который должна быть загружена текстура.

Может быть, не лучшее объяснение, но я надеюсь, что вы получите разницу.

Если вы знакомы с SDL 1.2, но не с 2.0, руководство по миграции должно помочь вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню