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_GLattr
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Enumeracja atrybutów konfiguracyjnych OpenGL.
SDL_GL_RED_SIZE | minimalna liczba bitów dla kanału czerwonego w buforze koloru, standardowo 3. |
SDL_GL_GREEN_SIZE | minimalna liczba bitów dla kanału zielonego w buforze koloru, standardowo 3. |
SDL_GL_BLUE_SIZE | minimalna liczba bitów dla kanału niebieskiego w buforze koloru, standardowo 2. |
SDL_GL_ALPHA_SIZE | minimalna liczba bitów dla kanału alfa w buforze koloru, standardowo 0. |
SDL_GL_BUFFER_SIZE | minimalna liczba bitów rozmiaru bufora ramki, standardowo 0. |
SDL_GL_DOUBLEBUFFER | określa pojedyncze lub podwójne buforowanie, standardowo podwójne. |
SDL_GL_DEPTH_SIZE | minimalna liczba bitów w buforze głębokości, standardowo 16. |
SDL_GL_STENCIL_SIZE | minimalna liczba bitów w buforze szablonowym, standardowo 0. |
SDL_GL_ACCUM_RED_SIZE | minimalna liczba bitów kanału czerwonego w buforze akumulacyjnym, standardowo 0. |
SDL_GL_ACCUM_GREEN_SIZE | minimalna liczba bitów kanału zielonego w buforze akumulacyjnym, standardowo 0. |
SDL_GL_ACCUM_BLUE_SIZE | minimalna liczba bitów kanału niebieskiego w buforze akumulacyjnym, standardowo 0. |
SDL_GL_ACCUM_ALPHA_SIZE | minimalna liczba bitów kanału alfa w buforze akumulacyjnym, standardowo 0. |
SDL_GL_STEREO | wyjście zwykłe lub stereoskopowe 3D, standardowo zwykłe. |
SDL_GL_MULTISAMPLEBUFFERS | liczba buforów używana do wygładzania wielopróbkowego, standardowo 0; szczegóły w Uwagach. |
SDL_GL_MULTISAMPLESAMPLES | Liczba próbek używanych wokół bieżącego piksela przy wygładzaniu wielopróbkowym; standardowo 0; szczegóły w Uwagach. |
SDL_GL_ACCELERATED_VISUAL | ustaw na 1, aby uzyskać akcelerację sprzętową, ustaw na 0, aby wymusić rysowanie programowe; standardowo dozwolone obie wartości. |
SDL_GL_RETAINED_BACKING | nie używane (przestarzałe). |
SDL_GL_CONTEXT_MAJOR_VERSION | główny numer wersji kontekstu OpenGL; szczegóły w Uwagach. |
SDL_GL_CONTEXT_MINOR_VERSION | dalszy numer wersji kontekstu OpenGL; szczegóły w Uwagach. |
SDL_GL_CONTEXT_FLAGS | pewna kombinacja 0 lub więcej elementów enumeracji SDL_GLcontextFlag; standardowo 0. |
SDL_GL_CONTEXT_PROFILE_MASK | typ kontekstu GL (Core, Compatibility, ES). Zobacz na See SDL_GLprofile; standardowa wartość zależy od platformy. |
SDL_GL_SHARE_WITH_CURRENT_CONTEXT | współdzielenie kontekstu OpenGL; standardowo 0. |
SDL_GL_FRAMEBUFFER_SRGB_CAPABLE | wymóg wyświetlacza o własnościach sRGB; standardowo 0 (>= SDL 2.0.1). |
SDL_GL_CONTEXT_RELEASE_BEHAVIOR | ustawia kontekst na zachowanie typu release; standardowo 1 (>= SDL 2.0.4). |
SDL_GL_CONTEXT_EGL | nie używane (przestarzałe). |
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_CreateContext(window); |
Większość atrybutów OpenGL możesz ustawiać w normalny sposób, lecz atrybuty wymienione powyżej muszą być znane zanim SDL utworzy okno, które zostanie powiązane z kontekstem OpenGL. Atrybuty te są ustawiane i odczytywane za pomocą SDL_GL_SetAttribute() i SDL_GL_GetAttribute().
W niektórych przypadkach atrybuty te stanowią minimalne wymagania; GL nie obiecuje, że da ci dokładnie to, o co prosiłeś. Przykładowo możliwe jest poproszenie o 16-bitowy bufor głębokości, a zamiast niego otrzymanie bufora 24-bitowego, lub poproszenie o brak bufora szablonowego, a wciąż będzie on do dyspozycji. Tworzenie kontekstu nie powinno się powieść, jeśli GL nie będzie w stanie zapewnić ci minimalnych atrybutów, które określiłeś, ale zawsze powinieneś sobie sprawdzić, co dokładnie otrzymałeś.
Wygładzanie wielopróbkowe jest rodzajem wygładzania pełnoekranowego. Wielopróbkowość standardowo jest wyłączona, lecz można ją włączyć przez ustawienie SDL_GL_MULTISAMPLEBUFFERS na 1 i SDL_GL_MULTISAMPLESAMPLES na wartość większą od 0. Typowe wartości to 2 i 4.
SDL_GL_CONTEXT_PROFILE_MASK określa rodzaj tworzonego kontekstu, natomiast SDL_GL_CONTEXT_MAJOR_VERSION i SDL_GL_CONTEXT_MINOR_VERSION określają, którą wersję. Wszystkie trzy atrybuty należy ustawić przed utworzeniem pierwszego okna, a ogólnie nie możesz zmienić wartości SDL_GL_CONTEXT_PROFILE_MASK, zanim nie usuniesz wszystkich okien utworzonych z poprzednim ustawieniem.
SDL_GL_CONTEXT_RELEASE_BEHAVIOR można ustawić na SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE lub SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH.
![]() |
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.