Pl/FlightGear

From FlightGear wiki
Jump to navigation Jump to search
FlightGear Flight Simulator
FlightGear Flight Simulator logo
W kokpicie Boeing 777-200ER
W kokpicie Boeing 777-200ER
Stworzone przez Developerzy FlightGear i współtwórcy
Pierwsze wydanie Lipec 17, 1997
Ostatnie wydanie 2020.3.12 (2 lutego 2022)
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
NASA OV-10 we FlightGear 1.0

FlightGear Flight Simulator (w skrócie FlightGear lub FGFS) to zaawansowana, darmowa i całkowicie open-source'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 FlightGear są corocznie wydawane od zapoczątkowania projektu w 1996 roku.

Najnowsze publiczne wydanie dostępne jest do pobrania na https://www.flightgear.org/download/ wraz z wersjami dla Microsoft Windows, macOS, Linux, IRIX i Solaris.

Historia

1rightarrow.png See FlightGear History for the main article about this subject.

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. Wiele innych osób miało wkład w projekt od jego zapoczątkowania.

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 FlightGear w 1997 roku.

Kokpit 3D A-10 w wersji 1.0.0 rok 2008

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 FlightGear jest szeroki wachlarz modeli dostępnych statków powietrznych, od glider do Helicopter, przez airliners do fighter jets. 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 Danych Lotu (FDM), są to: 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 FlightGear.

Wczesne wersje programu używały FDM opartym na LaRCsim od NASA, który w kolejnych wersjach został 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, jako podstawę użyty został LaRCsim.
  • FlightGear może być tak skonfigurowany, aby przyjmować dane z zewnętrznych źródeł FDM takich jak MATLAB.
  • Inne FDM zostały rozwinięte dla szczególnych przypadków statków lotniczych takich jak balony i sterowce.

Zależności FlightGear

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 FlightGear były różne w zależności od okresu. Główną biblioteką zależną jest SimGear, która jest silnikiem symulacji dla FlightGear. 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, przed wprowadzeniem OpenAL, także dla obsługi dźwięku. OpenGL jest użyty dla swoich funkcji 3D, DirectX nie jest wspierany. OpenSceneGraph jest również zintegrowany we FlightGear. 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 FlightGear (zależności) lub są zewnętrzne 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 ważne oprogramowanie to edytory i projekty dla danych o terenie. Atlas jest mapą dla FlightGear; 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

1rightarrow.png See Table of models for the main article about this subject.

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. Wprowadzenie i rozwój UIUC, jak też JSBSim jak również późniejsze wprowadzenie YASim, który został głównym FDM projektu FlightGear, zaowocowało wprowadzeniem do projektu kilku dodatkowych statków powietrznych. Ponad 400 samolotów, w ponad 900 unikalnych malowaniach, jest dostępnych dla wersji 2.12, choć tylko kilka jest zawartych w pakiecie podstawowym.

Boeing 733 zaparkowany w scenerii EHAM

Sceneria

1rightarrow.png See Scenery for the main article about this subject.

Projekt WorldScenery dla FlightGear 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 graczy 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 FlightGear 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 szczegółowych dla poszczególnych platform. 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 pracują poprawnie pod Mac OS 9, ale nowsze wersje wymagają szczególnych wersji macOS.

Inny przykład, najnowsza wersja kodu w 2007 roku to 0.9.11-pre1 (pre-release ) i 0.9.10 (finalna). Jednak dostępne wersje binarne znacznie się różniły. Oto kilka dostępnych wersji binarnych rok po udostępnieniu kodu 0.9.10:

  • Win-32 pakiet ~138MB (v0.9.10) Dla Windows 98, 2000, ME, 32 bitowe XP
  • Linux - pakiety dla poszczególnych dystrybucji
    • Pakiet Slackware (v0.9.10), Fedora Core 2,3,4 packages (v0.9.10), Pardus (v0.9.10), Debian (v0.9.9)
  • Pakiet Solaris packages dla SPARC lub procesorów x86.
    • SPARC (v0.9.8), x86 (v0.9.9)
  • Silicon Graphics IRIX
    • Wersja binarna SGI binaries (v0.9.9)
  • Mac OS X
    • Mac OS X 10.4 (v0.9.10)
    • Mac OS X 10.3 (v0.9.9)
  • Pakiet FreeBSD (v0.9.10)

Recenzje FlightGear

1rightarrow.png See FlightGear Reviews for the main article about this subject.

Łącza zewnętrzne

1rightarrow.png See Links for the main article about this subject.

Źródła