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 |
©2023 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 ©2023 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: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.