1,089
edits
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
[[File:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA [[OV-10]] we FlightGear 1.0]] | [[File:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA [[OV-10]] we FlightGear 1.0]] | ||
'''FlightGear Flight Simulator''' (w skrócie '''FlightGear''' lub '''FGFS''') to | '''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. | 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 [ | Najnowsze publiczne wydanie dostępne jest do pobrania na [https://www.flightgear.org/download/ https://www.flightgear.org/download/] wraz z wersjami dla Microsoft Windows, macOS, Linux, IRIX i Solaris. | ||
== Historia == | == Historia == | ||
{{main article|FlightGear History}} | {{main article|FlightGear History}} | ||
Rozwój | 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ł | 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. | ||
[[File:FG-A-10.jpg|thumb|270px|Kokpit 3D [[A-10]] w wersji 1.0.0 rok 2008]] | [[File:FG-A-10.jpg|thumb|270px|Kokpit 3D [[A-10]] w wersji 1.0.0 rok 2008]] | ||
W 2008 roku wersja 1.9.0 | 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 == | == Program == | ||
Line 40: | Line 40: | ||
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. | 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 [[:Category:Gliders|glider]] do [[Helicopter]], przez [[:Category:Airliners|airliners]] do [[Military aircraft|fighter jets]]. Modele te zostały wykonane i dodane do projektu przez wielu ochotników ze społeczności | Przykładem na możliwość dostosowywania FlightGear jest szeroki wachlarz modeli dostępnych statków powietrznych, od [[:Category:Gliders|glider]] do [[Helicopter]], przez [[:Category:Airliners|airliners]] do [[Military aircraft|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, | 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 === | === Modele Dynamiki Lotu === | ||
[[Flight Dynamics Models]] (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 | [[Flight Dynamics Models|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 [[ | 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. | * [[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. | * [[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. | * [[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 | * 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. | * Inne FDM zostały rozwinięte dla szczególnych przypadków statków lotniczych takich jak balony i sterowce. | ||
=== Zależności FlightGear === | === 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 | 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== | ||
Sprzęt konieczny do uruchomienia | 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. | ||
[[File:Fgrun-page2.jpg|thumb|left|270px|The [[FlightGear Launch Control|FlightGear Launcher]]]] | [[File:Fgrun-page2.jpg|thumb|left|270px|The [[FlightGear Launch Control|FlightGear Launcher]]]] | ||
== Dodatki i dostosowywanie == | == 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 | 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 [[Pl/Opcje wiersza poleceń|opcji wiersza poleceń]]. Jednakże, w 2003 roku od wersji 0.9.3, został dołączony ''[[FlightGear Launch Control|FGRun]]'' - program startowy z interfejsem graficznym. Obecnie tę rolę spełnia ''[[FlightGear Qt launcher|QT Launcher]]''. | ||
Podobną | 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 | 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. | ''[[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 === | === Statki Powietrzne === | ||
{{Main article|Table of models}} | {{Main article|Table of models}} | ||
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ę | 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. | ||
[[File:EHAM.jpg|thumb|270px|[[Boeing 737-300|Boeing 733]] zaparkowany w scenerii [[EHAM]] ]] | [[File:EHAM.jpg|thumb|270px|[[Boeing 737-300|Boeing 733]] zaparkowany w scenerii [[EHAM]] ]] | ||
Line 85: | Line 85: | ||
Projekt [[WorldScenery]] dla FlightGear zawiera dane o wysokości i klasie terenu całego świata. | 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 [[FlightGear Scenery Database| | Obiekty takie jak terminale, wiatraki i mosty są zebrane w [[FlightGear Scenery Database|bazie danych scenerii]]. | ||
=== Sieć i wiele monitorów === | === Sieć i wiele monitorów === | ||
Istnieje kilka możliwości, które pozwalają komunikować się | Istnieje kilka możliwości, które pozwalają komunikować się jednej instancji FlightGeara z inną. Dostępny jest protokół [[Multiplayer Howto|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 | 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 == | == Kod FlightGear vs wersja binarna == | ||
W przeciwieństwie do komercyjnego oprogramowania, data wydania dotyczy wyłącznie kodu źródłowego, a nie | 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. | ||
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 | |||
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: | 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 | * Win-32 pakiet ~138MB (v0.9.10) Dla Windows 98, 2000, ME, 32 bitowe XP | ||
Line 108: | Line 107: | ||
** Wersja binarna SGI binaries (v0.9.9) | ** Wersja binarna SGI binaries (v0.9.9) | ||
* Mac OS X | * Mac OS X | ||
** Mac OS 10.4 (v0.9.10) | ** Mac OS X 10.4 (v0.9.10) | ||
** Mac OS 10.3 (v0.9.9) | ** Mac OS X 10.3 (v0.9.9) | ||
* Pakiet FreeBSD (v0.9.10) | * Pakiet FreeBSD (v0.9.10) | ||
edits