W naszych grach próbujemy zwiększyć wydajność poprzez używanie mniej dokładnych modeli, tekstur, generowanie mipmap a także poprzez stosowanie przeróżnych algorytmów, które odrzucą nam trójkąty lub całe modele, które są niewidoczne lub też zasłonięte. Jednak są momenty w których już nie da się bardziej pójść na kompromis między złożonością modeli a wydajnością i szukamy innych alternatywnych rozwiązań, […]
Kategoria: OpenGL
Efekt mgły
Na poczatku wykonaj kopię przygotowanego projektu w artykule „OpenGl – Szablon programu”, następnie nazwij ją np. Mgla. Otwórz projekt i przejdź do pliku render.pas. Dodaj do niego poniższą procedurę, która będzie tworzyć mgłę :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
procedure Fog; var r, g, b: glfloat; // Zmienne decydujące o kolorze mgly begin glEnable(GL_FOG); //Włączamy obslugę mgły glFogi(GL_FOG_MODE, GL_LINEAR); // Wybieramy rodzaj mgly r := 0.5; // Nasycenie koloru czerwonego g := 0.5; // Nasycenie koloru zielonego b := 0.5; // Nasycenie koloru czerwonego glFogfv(GL_FOG_COLOR, @b); // Przypisanie barwy niebieskiej glFogfv(GL_FOG_COLOR, @g); // Przypisanie barwy zielonej glFogfv(GL_FOG_COLOR, @r); // Przypisanie barwy czerwonej glFogf(GL_FOG_DENSITY, 0.5); // Gęstosc mgly glFogf(GL_FOG_START, 0.0); // Zakres mgły - początek glFogf(GL_FOG_end, 50 - t); // Zakres mgły - koniec end; |
Możemy ustawić jakość mgły za pomocą parametru GL_FOG_MODE. Może przyjmować wartości : – GL_LINEAR – liniowa – GL_EXP2 – eksponencjalna kwadratowa […]
Wprowadzenie
OpenGL jest specyfikacją niskopoziomowej biblioteki graficznej pierwotnie opracowanej przez Silicon Graphics Inc. Konkretna implementacja tej specyfikacji, jaką posiadasz w swoim systemie, często nazywana sterownikiem OpenGL, umożliwia używanie zestawu podstawowych elementów geometrycznych (punktów, linii, wielokątów, obrazów, itd) do opisu scen, jakie zamierzasz stworzyć. Wizualizacja kompletnej zmodyfikowanej sceny wymaga kilku milisekund czasu, co oznacza, że ta biblioteka […]
Szablon programu
W tym artykule stworzymy rozbudowany szablon programu pracującego na OpenGl. 1. Przygotowanie podłoża dla programu Nasz program pracujący na OpenGl nie będzie posiadał obiektu TForm oraz żadnych komponentów VCL. Dzięki temu aplikacja będzie działać szybciej oraz będzie miała mniejszy rozmiar. Na początku utwórz na dysku katalog dla naszego projektu np. Szablon. Następnie zrób w nim podkatalogi […]
Prymitywy
Prymitywy są to podstawowe figury geometryczne z których zbudowane są wszystkie obiekty w OpenGl. Aby utworzyć taką figurę potrzebne są nam punkty, które będą stanowić ich wierzchołki. Wyróżniamy kilka rodzajów prymitywów: Przejdźmy teraz do kodu. Na początku skopiuj katalog z projektem z poprzedniej lekcji i nazwij go np. Prymitywy. Otwórz plik render.pas. Poszukaj procedure RenderFrame i usuń polecenia glRotate, glBegin, […]