Ankieta

W jakim kierunku powinna zmierzać MaSzyna?

Wyłącznie formaty uniwersalne
2 (5.9%)
Maksymalizacja formatów uniwersalnych
7 (20.6%)
Maksymalizacja formatów optymalizowanych
14 (41.2%)
Wyłącznie formaty optymalizowane
4 (11.8%)
Nie wiem, o co chodzi
7 (20.6%)

Głosów w sumie: 34

Głosowanie skończone: 21 Listopada 2014, 16:02:34

Autor Wątek:  Formaty plików dla symulatora  (Przeczytany 2561 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6301
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 330
Formaty plików dla symulatora
« dnia: 22 Października 2014, 17:02:34 »
Chciałbym zebrać informacje, co sądzicie o formatach plików. Istnieje kilka koncepcji, na ile formaty powinny być uniwersalne (z opisaną strukturą, obsługiwaną przez różnorakie programy narzędziowe), a na ile dedykowane (zoptymalizowane pod konkretne potrzeby).

1. Jeden ze skrajnych przypadków to używanie wyłącznie uniwersalnych formatów. W MaSzynie nigdy tak nie było, bo były używane własne formaty TEX oraz T3D. O ile jeszcze TEX dało się przerobić na TGA, to już T3D jest formatem dedykowanym. Nawet gdyby zamiast T3D używać pliki 3DS, to jeszcze pozostaje kwestia znalezienia uniwersalnego formatu dla plików scenerii (być może DXF by się nadawał), a także parametrów fizyki (obecnie FIZ i MMD). Używanie wyłącznie uniwersalnych plików ogranicza rozwój do aktualnie dostępnych opcji i uzależnia od możliwości programów narzędziowych obcego autorstwa. W praktyce ma sens chyba tylko w początkowej fazie rozwoju, gdy nie ma się jeszcze własnych programów narzędziowych i tworzy się coś w ramach silnika graficznego, bazującego na formatach uniwersalnych.

2. Maksymalizacja formatów uniwersalnych. Jest to przypadek z początków MaSzyny, gdy formaty dedykowane (SCN, T3D, CHK, MMD) były tam, gdzie było to potrzebne, natomiast większość plików była w formatach uniwersalnych (BMP, TGA, WAV). Można sobie też wyobrazić, że MaSzyna będzie kiedyś w stanie wczytać i obsługiwać formaty modeli z MSTS albo Trainz, które w takim kontekście będzie można uznać za uniwersalne.

3. Formaty optymalizowane. W MaSzynie się to zaczęło wraz z wprowadzeniem formatu DDS, a potem E3D. Format DDS jest co prawda formatem uniwersalnym, jednak z powodu stratnej kompresji nie nadaje się on do wtórnej edycji i oryginalny plik trzeba mieć w innym formacie (np. TGA). Z kolei E3D jest formatem dedykowanym, do którego obsługi nie powstały jeszcze narzędzia, i który nie do końca daje się przerobić wtórnie na T3D. Obydwa formaty przyczyniają się do przyspieszenia wczytywania scenerii i zwiększenia wydajności wyświetlania. Pliki E3D są tworzone po wczytaniu T3D i wykonaniu związanych z tym formatem obliczeń. Można też sobie wyobrazić wczytywanie formatu 3DS, po którym również będzie zapisywany plik E3D.

4. Jest jeszcze drugi skrajny przypadek, w którym istnieją wyłącznie optymalizowane pliki dedykowane, a pliki uniwersalne nie są używane wcale. Jest tak np. w przypadku użycia OpenSceneGraph, który po prostu zapisuje i wczytuje własne pliki, a opis ich struktury może nie istnieć. Podobnie jest w silniku graficznym Esenthel. Chcąc edytować cokolwiek, używa się albo dostarczonych z silnikiem graficznym narzędzi, albo istnieją metody konwersji na formaty uniwersalne (np. TGA, WAV). Praktycznie nierealne jest stworzenie własnych narzędzi bez wykorzystania kodu takiego silnika graficznego, ewentualnie edytować można zestaw własnych plików, które następnie konwertuje się w jedną stronę na potrzeby silnika graficznego (tak jak TGA na DDS). Dedykowane formaty teoretycznie zapewniają maksymalną efektywność, jednak próby samodzielnego wprowadzenia własnych modyfikacji mogą napotykać na trudności (podobnie jak np. nie ma sensu edycja plików DDS — trzeba się postarać o nieskompresowane TGA).
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni