Pl/FlightGear
W kokpicie Boeing 777-200ER | |
Stworzone przez | Developerzy FlightGear i współtwórcy |
---|---|
Pierwsze wydanie | Lipec 17, 1997 |
Ostatnie wydanie | 2020.3.19 (18 października 2023) |
Napisane w | C, C++, Nasal |
System operacyjny | Windows, Linux, macOS oraz FreeBSD |
Platforma | wieloplatformowy |
Status prac | Aktywny (1996-) |
Typ | Symulator Lotu |
Licencja | GNU General Public License |
Strona internetowa |
FlightGear Flight Simulator (w skrócie FlightGear lub FGFS) to zaawansowana, darmowa i całkowicie otwarto-źródłowa platforma symulacji lotu, stworzona przez wolontariuszy. FlightGear jest wydany na zasadach licencji GNU General Public License i jest on w większości napisany przy użyciu języka programowania C++.
Coraz bardziej szczegółowe i zaawansowane wersje FlightGeara są corocznie wydawane od zapoczątkowania projektu w 1996 roku.
Najnowsze publiczne wydanie dostępne jest do pobrania na www.flightgear.org/download/ wraz z wersjami dla Microsoft Windows, macOS, Linux, IRIX i Solaris.
Historia
Zobacz FlightGear History - główny artykuł na ten temat. |
Rozwój FlightGeara rozpoczął się od propozycji stworzenia otwarto-źródłowego symulatora w 1996 roku, w oparciu o własny kod renderowania grafiki 3D. Rozwój wersji opartej na OpenGL rozpoczął Curtis Olson w 1997 roku, ale także wiele innych osób miało swój wkład w ten projekt.
FlightGear włączył inne otwarto-źródłowe zasoby, w tym model lotu LaRCsim od NASA oraz powszechnie dostępne dane o elewacji terenu. Pierwsze działające pliki binarne, wykorzystujące OpenGL dla grafiki 3D, pojawiły się w 1997 roku. Entuzjastyczny rozwój kolejnych wersji przez kilka lat zaowocował stopniowo coraz bardziej stabilnymi i zaawansowanymi wersjami. W 2001 roku zespół regularnie wydawał nowe wersje beta, a w 2005 roku dojrzałość oprogramowania doprowadziła do szerszych recenzji i wzrostu popularności. W 2007 roku nastąpiło formalne wyjście z wersji beta wraz z wydaniem wersji 1.0.0, dziesięć lat po pierwszym wydaniu FlightGeara w 1997 roku.
W 2008 roku, wersja 1.9.0 FlightGeara przeszła z biblioteki PLIB na OSG, co spowodowało tymczasową utratę niektórych funkcji programu, takich jak wyświetlanie chmury 3D i cienie, za to nowo wprowadzone funkcje, takie jak cząsteczki, nadały symulacji kolejny stopień realizmu.
Program
Silnik symulacji we FlightGear to SimGear. Jest on używany zarówno jako aplikacja użytkownika końcowego jak i przy pracach badawczych w środowiskach akademickich w celu rozwoju zagadnień związanych z symulacją lotu.
Przykładem na możliwość dostosowywania FlightGeara jest szeroki wachlarz modeli dostępnych statków powietrznych, od szybowców przez śmigłowców, liniowce, myśliwców odrzutowych do Wahadłowca Kosmicznego. Modele te zostały wykonane i dodane do projektu przez wielu ochotników ze społeczności FlightGeara.
Od wersji 0.9.10 statki powietrzne we FlightGear używają jednego z trzech modeli dynamiki lotu (FDM): JSBSim, YASim lub UIUC. Obecnie wyłącznie jeden silnik terenu jest w użyciu, jest nim TerraGear. Dostępne efekty pogodowe to między innymi chmury 3D, efekty świetlne, pory dnia i nocy.
Modele Dynamiki Lotu
Model dynamiki lotu (FDM) odpowiada za to w jaki sposób w programie jest symulowany lot statku powietrznego. FlightGear korzysta z własnych oraz zewnętrznych projektów modeli dynamiki lotu. Każdy statek powietrzny musi być tak zaprogramowany, aby korzystał z jednego z dostępnych modeli dynamiki lotu. Obecnie FlightGear jest jedynym, graficznym symulatorem lotu korzystającym ze wszystkich wspomnianych modeli dynamiki lotu, a UIUC i YASim zostały rozwinięte z myślą i w szczególności dla FlightGeara.
Wczesne wersje programu używały FDM, który był oparty na LaRCsim od NASA. W kolejnych wersjach został on zastąpiony przez bardziej elastyczne FDM.
- JSBSim - domyślny model dynamiki lotu od 2000 roku.
- YASim - inny FDM, używający odmiennych metod obliczeniowych. Wprowadzony od wersji 0.7.9 w 2002 roku.
- UIUC - kolejny FDM, rozwinięty przez UIUC Applied Aerodynamics Group z Uniwersytetu w Illinois na Urbana-Champaign, bazujący na LaRCsim.
- FlightGear może być tak skonfigurowany tak, aby przyjmował dane z zewnętrznych źródeł FDM takich jak MATLAB.
- Inne niestandardowe FDM zostały napisane dla specyficznych typów statków powietrznych jak balony i sterowce.
Zależności FlightGeara
W przeciwieństwie do komercyjnych tytułów, głównym wynikiem pracy projektu jest wydanie zestawu kodów źródłowych. Aby użyć programu należy skompilować udostępniony kod dla docelowej platformy, na której ma pracować. Biblioteki użyte przez FlightGeara były różne w zależności od okresu. Główną biblioteką zależną jest SimGear, która jest silnikiem symulacji dla FlightGeara. TerraGear nie jest zależnością, a raczej tylko nazwą dla domyślnego silnika odpowiadającego za generowanie terenu we FlightGear. OpenAL jest używany dla obsługi dźwięku, włączając wsparcie dla SDL (od wersji 0.9.5). PLIB jest użyte do obsługi sprzętowej, także dla obsługi dźwięku przed wprowadzeniem OpenAL. OpenGL jest użyty dla swoich funkcji 3D, DirectX nie jest wspierany. Silnik graficzny OpenSceneGraph jest również zintegrowany z FlightGearem. Na koniec do kompilacji jest konieczna biblioteka Simple Direct Media Layer (SDL). Niektóre zależności mogą się różnić w zależności od tego na jaką platformę docelową jest kompilowany kod. Użytkownicy FlightGeara powinni sami kompilować kod lub jeżeli nie jest on dostępny w ramach projektu, korzystać z wersji binarnej udostępnionej przez osoby trzecie.
Sprzęt
Sprzęt konieczny do uruchomienia FlightGeara jest ograniczony do sprzętu, który wspiera OpenGL i akcelerację 3D, przy czym najlepiej wspierana jest NVIDIA. Wczesne wersje posiadały wsparcie dla kart 3dfx, jednak wsparcie to zostało wycofane wraz ze zwiększającymi się wymaganiami sprzętowymi.
Dodatki i dostosowywanie
Istnieją programy, które są zintegrowane z FlightGearem (zależności) lub są programami zewnętrznymi i współpracują z nim. Oprogramowanie takie może być częścią projektu FlightGear lub może być rozwijane niezależnie, ale udostępniane przez projekt FlightGear.
Ważnym dodatkowym oprogramowaniem jest interfejs graficzny, służący do uruchomienia pliku wykonywalnego FlightGeara. We wczesnych wersjach, FlightGear mógł być uruchomiony jedynie z wykorzystaniem opcji wiersza poleceń. Jednakże, w 2003 roku od wersji 0.9.3, został dołączony FGRun - program startowy z interfejsem graficznym. Obecnie tę rolę spełnia QT Launcher. Podobną funkcję spełnia KFreeFlight dla środowiska KDE. FGTools jest alternatywnym front-endem dla środowiska Windows. FGKicker jest używany dla GTK+.
Inne znaczące programy obejmują edytory i projekty związane z terenem. Atlas jest mapą dla FlightGeara; Kelpie Flight Planner to rozwijane w Javie narzędzie do planowania lotów. FlightGear Scenery Designer to edytor scenerii, pomocny przy pracy z danymi terenu. World Custom Scenery Project to projekt pomagający koordynować wspólne wysiłki na rzecz tworzenia scenerii. Na koniec edytor TaxiDraw do tworzenia nowych pasów startowych i dróg kołowania.
Statki Powietrzne
Zobacz Table of models - główny artykuł na ten temat. |
Na początku, FlightGear dysponował tylko jednym statkiem powietrznym, był to Navion zawarty w projekcie LaRCsim od NASA, który w 2000 roku został zastąpiony przez Cessnę 172P. Rozwój UIUC i JSBSim przyniósł ze sobą kilka kolejnych samolotów, podobnie jak rozwój YASim, który od tego czasu stał się głównym FDM używanym we FlightGear. W wersji 2.12 dostępnych jest ponad 400 samolotów w ponad 900 unikalnych malowaniach, choć tylko kilka z nich wchodzi w skład pakietu podstawowego.
Sceneria
Zobacz Scenery - główny artykuł na ten temat. |
Projekt World Scenery dla FlightGeara zawiera dane o wysokości i klasie terenu całego świata. Obiekty takie jak terminale, wiatraki i mosty są zebrane w bazie danych scenerii.
Sieć i wiele monitorów
Istnieje kilka możliwości, które pozwalają komunikować się jednej instancji FlightGeara z inną. Dostępny jest protokół multiplayer, co umożliwia lot w formacji lub symulowanie kontroli ruchu lotniczego w sieci lokalnej. Protokół Multiplayer zostanie wkrótce tak rozbudowany, aby także pozwalał na pracę w internecie. Dodatkową cechą możliwości sieciowych jest opcja podglądu innych pilotów na mapach Google.
Kilka instancji FlightGeara może zostać tak zsynchronizowana, aby korzystały z wielu monitorów. Możliwe jest uzyskanie bardzo dobrej synchronizacji między monitorami jeżeli wszystkie instancje FlightGeara będą pracowały z tą samą częstotliwością wyświetlania klatek.
Kod FlightGeara vs wersja binarna
W przeciwieństwie do komercyjnego oprogramowania, data wydania dotyczy wyłącznie kodu źródłowego, a nie wersji binarnej. Aby stworzyć wykonywalny program, kod źródłowy musi zostać skompilowany, co wymaga kilku bibliotek, włączając w to kilka ogólnych oraz specyficznych dla platfory. Jednak jest to zbyt trudne zadanie dla wielu zwykłych użytkowników, dlatego ochotnicy społeczności pracują, aby udostępnić wersje binarne dla poszczególnych platform i systemów operacyjnych. Dystrybucje te różnią się poziomem stabilności, wydajnością, zależnościami, a także tym, jak aktualne są one w stosunku do kodu źródłowego. Dla przykładu, niektóre ze starszych wersji binarnych będą pracować poprawnie pod Mac OS 9, ale nowsze wydania wymagają określonych wersji Mac OS X.
For example, by late 2012 the latest code release was 2.10 (pre-release) and 2.8.0 (final). Binaries are generally available for the last final code release on all major platforms. Click here to proceed to the flightgear binaries download page
Przykładowo, pod koniec 2012 roku najnowszą wersją kodu była wersja 2.10 (przedpremierowa) i 2.8.0 (finalna). Pliki binarne są ogólnie dostępne dla ostatniego finalnego wydania kodu na wszystkich głównych platformach. Przejdź do naszej oficjalnej strony pobierania aby pobrać pliki binarne FlightGeara.
Pliki binarne dla innych platform, takich jak IRIX, nie są już obsługiwane, chociaż wydania sprzed 1.0 mogą działać i można je znaleźć w repozytoriach kodu źródłowego git.
Recenzje FlightGear
Zobacz FlightGear Reviews - główny artykuł na ten temat. |
Łącza zewnętrzne
Zobacz Links - główny artykuł na ten temat. |
- FlightGear
- Oficjalna strona
- Forum
- System śledzenia błędów
- Oryginalna propozycja stworzenia FlightGear
Źródła
- Original Flight Gear Proposal by David L. Murr (Revision 3.0.1)
- Wikipedia