Poprawa wydajności systemu cząsteczkowego

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ń, […]

Czytaj więcej

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łę :

Możemy ustawić jakość mgły za pomocą parametru GL_FOG_MODE. Może przyjmować wartości : – GL_LINEAR – liniowa – GL_EXP2 – eksponencjalna kwadratowa […]

Czytaj więcej

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 […]

Czytaj więcej

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 […]

Czytaj więcej

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, […]

Czytaj więcej