Я ничего не мог найти об рендеринг прозрачных прямоугольников в документальных документах SDL2. Я хочу сделать SDL_Rect прозрачной текстурой/поверхностью/все, что используется как «туман войны». Возможно, вы знаете какой-либо способ сделать поверхность или текстуру из SDL_Rect или просто сделать ее прозрачной. Я не хочу новой текстуры в игровых файлах, потому что игрок может просто удалить файл, и у него не будет этого тумана войны.SDL рендеринга прозрачного прямоугольника с использованием SDL_Rect
1
A
ответ
2
Хорошо мне удалось сделать это сам, и если кто-то будет иметь тот же вопрос вот ответ:
SDL_Surface* Fog = NULL;
SDL_Texture* gFog = NULL;
Fog = SDL_CreateRGBSurface(0, SCREEN_WIDTH, SCREEN_HEIGHT, 32, 0, 0, 0, 0);
if (Fog == NULL)std::cout << SDL_GetError();
gFog = SDL_CreateTextureFromSurface(gRenderer, Fog);
if (gFog == NULL)std::cout<<SDL_GetError();
SDL_SetTextureBlendMode(gFog, SDL_BLENDMODE_BLEND);
SDL_SetTextureAlphaMod(gFog, 150);