|
Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2026 mgr Jerzy Wałaszek
|
SDL_CreateTexture
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby utworzyć teksturę dla kontekstu graficznego.
SDL_Texture* SDL_CreateTexture(SDL_Renderer* renderer,
Uint32 format,
int access,
int w,
int h)
|
| renderer | kontekst graficzny |
| format | jedna z enumerowanych wartości w SDL_PixelFormatEnum; zobacz do Uwag. |
| access | jedna z enumerowanych wartości w SDL_TextureAccess; zobacz do Uwag. |
| w | szerokość tekstury w pikselach |
| h | wysokość tekstury w pikselach |
/* Ruchomy Prostokąt */
int main(int argc, char *argv[])
{
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Texture *texture;
SDL_Event event;
SDL_Rect r;
if (SDL_Init(SDL_INIT_VIDEO) < 0)
{
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s", SDL_GetError());
return 3;
}
window = SDL_CreateWindow("SDL_CreateTexture",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
1024, 768,
SDL_WINDOW_RESIZABLE);
r.w = 100;
r.h = 50;
renderer = SDL_CreateRenderer(window, -1, 0);
texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, 1024, 768);
while (1)
{
SDL_PollEvent(&event);
if(event.type == SDL_QUIT) break;
r.x=rand()%500;
r.y=rand()%500;
SDL_SetRenderTarget(renderer, texture);
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
SDL_RenderClear(renderer);
SDL_RenderDrawRect(renderer,&r);
SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0x00);
SDL_RenderFillRect(renderer, &r);
SDL_SetRenderTarget(renderer, NULL);
SDL_RenderCopy(renderer, texture, NULL, NULL);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_Quit();
return 0;
}
|
| SDL_PIXELFORMAT_UNKNOWN | |
| SDL_PIXELFORMAT_INDEX1LSB | |
| SDL_PIXELFORMAT_INDEX1MSB | |
| SDL_PIXELFORMAT_INDEX4LSB | |
| SDL_PIXELFORMAT_INDEX4MSB | |
| SDL_PIXELFORMAT_INDEX8 | |
| SDL_PIXELFORMAT_RGB332 | |
| SDL_PIXELFORMAT_RGB444 | |
| SDL_PIXELFORMAT_RGB555 | |
| SDL_PIXELFORMAT_BGR555 | |
| SDL_PIXELFORMAT_ARGB4444 | |
| SDL_PIXELFORMAT_RGBA4444 | |
| SDL_PIXELFORMAT_ABGR4444 | |
| SDL_PIXELFORMAT_BGRA4444 | |
| SDL_PIXELFORMAT_ARGB1555 | |
| SDL_PIXELFORMAT_RGBA5551 | |
| SDL_PIXELFORMAT_ABGR1555 | |
| SDL_PIXELFORMAT_BGRA5551 | |
| SDL_PIXELFORMAT_RGB565 | |
| SDL_PIXELFORMAT_BGR565 | |
| SDL_PIXELFORMAT_RGB24 | |
| SDL_PIXELFORMAT_BGR24 | |
| SDL_PIXELFORMAT_RGB888 | |
| SDL_PIXELFORMAT_RGBX8888 | |
| SDL_PIXELFORMAT_BGR888 | |
| SDL_PIXELFORMAT_BGRX8888 | |
| SDL_PIXELFORMAT_ARGB8888 | |
| SDL_PIXELFORMAT_RGBA8888 | |
| SDL_PIXELFORMAT_ABGR8888 | |
| SDL_PIXELFORMAT_BGRA8888 | |
| SDL_PIXELFORMAT_ARGB2101010 | |
| SDL_PIXELFORMAT_RGBA32 | alias (nazwa zastępcza) dla ciągu bajtów RGBA danych koloru na bieżącej platformie (>= SDL 2.0.5). |
| SDL_PIXELFORMAT_ARGB32 | alias dla ciągu bajtów ARGB danych koloru na bieżącej platformie (>= SDL 2.0.5). |
| SDL_PIXELFORMAT_BGRA32 | alias dla ciągu bajtów BGRA danych koloru na bieżącej platformie (>= SDL 2.0.5). |
| SDL_PIXELFORMAT_ABGR32 | alias dla ciągu bajtów ABGR danych koloru na bieżącej platformie (>= SDL 2.0.5). |
| SDL_PIXELFORMAT_YV12 | tryb planarny: Y + V + U (3 płaszczyzny). |
| SDL_PIXELFORMAT_IYUV | tryb planarny: Y + U + V (3 płaszczyzny). |
| SDL_PIXELFORMAT_YUY2 | tryb spakowany: Y0+U0+Y1+V0 (1 płaszczyzna). |
| SDL_PIXELFORMAT_UYVY | tryb spakowany: U0+Y0+V0+Y1 (1 płaszczyzna). |
| SDL_PIXELFORMAT_YVYU | tryb spakowany: Y0+V0+Y1+U0 (1 płaszczyzna). |
| SDL_PIXELFORMAT_NV12 | tryb planarny: Y + U/V z przeplotem (2 płaszczyzny) (>= SDL 2.0.4) |
| SDL_PIXELFORMAT_NV21 | tryb planarny: Y + V/U z przeplotem (2 płaszczyzny) (>= SDL 2.0.4) |
Parametr access może przyjmować wartości:
| SDL_TEXTUREACCESS_STATIC | rzadka zmiana treści, nieblokowalna |
| SDL_TEXTUREACCESS_STREAMING | częsta zmiana treści, blokowalna |
| SDL_TEXTUREACCESS_TARGET | może być stosowana jako tekstura docelowa do tworzenia grafiki |
Możesz określić metodę skalowania tekstury przez ustawienie opcji SDL_HINT_RENDER_SCALE_QUALITY przed utworzeniem tekstury.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.