Autor Wątek:  Ostateczne uporządkowanie originów tekstur  (Przeczytany 2589 razy)

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

Offline Milek7

  • Administrator
  • Wiadomości: 1047
    • Zobacz profil
  • Otrzymane polubienia: 902
Ostateczne uporządkowanie originów tekstur
« dnia: 17 Lutego 2018, 17:00:32 »
Wracam do tematu który właściwie nie jest bardzo problematyczny, ale gryzie mnie wewnętrznie. W ostatnim czasie exe zaczęło respektować origin TGA, więc uporządkowało się origin tablic relacyjnych, ale pozostaje dalej kwestia DDS. OpenGL przechowuje tekstury w konwencji origin dolny-lewy, jednak kontener DDS klasycznie przechowuje origin górny-lewy, i tak jest obsługiwany zwykle przez narzędzia, zapis, podgląd miniaturek. Obecnie exe wyciąga bezpośrednio dane z DDS i puszcza to na opengl oczekujący danych z odwrotnym originem, więc w celu poprawnej orientacji tekstury musi być vflip. Moja propozycja jest taka że poprawiamy w exe wewnętrzy flip, tak aby poprawnie odczytywało DDS z konwencją górny-lewy. Zakładając że flipuje się z prędkością 600MB/s, a przeciętna sceneria może mieć 250MB tekstur to całkowite spowolnienie wczytywania to jakieś 0.4 sekundy. Wada oczywiście taka że wszystkie unoffy trzymane w DDS będą wymagać flip, bo źle się załadują.
Co z tym robimy?

Offline Balaclava

  • Zasłużony dla Symulatora
  • Wiadomości: 936
  • vel. krzysiuup
    • Zobacz profil
  • Otrzymane polubienia: 726
Odp: Ostateczne uporządkowanie originów tekstur
« Odpowiedź #1 dnia: 17 Lutego 2018, 17:04:44 »
Wedug mnie lepiej jest trzymac na dysku tekstury w normalnej orientacji. Spadek szybkosci wczytywania praktycznie zerowy, w zamian latwiejsze tworzenie paczek uzytkowych. Z mojego punktu widzenia zaleta bedzie tez brak koniecznosci uprawiania szamanstwa z siatka UV w skrypcie importu/eksportu T3D/SCN.
Dokumentacja dla przyszłych pokoleń deweloperów:
MaSzynowa Wiki
Narzędzia deweloperskie - Blender

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Ostateczne uporządkowanie originów tekstur
« Odpowiedź #2 dnia: 17 Lutego 2018, 17:12:00 »
Według mnie lepiej nie tykać. Konwertery i importery są dostosowane do flipa. Exe jest dostosowane do flipa. Paczki użytkowe robi automat. Deweloper powinien robić na tga i jak odwrócony dds go wkurza, to tylko lepiej, bo może pomyśli przed wrzucaniem czegoś tylko w dds.
Mój kanał youtube

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Ostateczne uporządkowanie originów tekstur
« Odpowiedź #3 dnia: 17 Lutego 2018, 17:14:39 »
Biorac pod uwage ze paczka "uzytkowa" to dds + e3d, sklanialbym sie ku nieco innemu rozwiazaniu -- przeprowadzac flip dla UV przy wczytywaniu t3d (uv = 1 - uv) i flip dla tga. W ten sposob skompilowane modele e3d moga czytac nieodwrocony dds bezposrednio, a male spowolnienie w wersji developerskiej roznicy specjalnie nie zrobi?

Offline Milek7

  • Administrator
  • Wiadomości: 1047
    • Zobacz profil
  • Otrzymane polubienia: 902
Odp: Ostateczne uporządkowanie originów tekstur
« Odpowiedź #4 dnia: 17 Lutego 2018, 17:24:08 »
Noo można, ale czy jest po co tak szamanić, zamiast zrobić ładne wczytywanie poprawnego origina? To spowolnienie to chciałem pokazać, że 0.5s na całej scenerii nikomu nie zrobi różnicy.