Pl:OSM-4D/Generic textures

From OpenStreetMap Wiki
(Redirected from Pl:Generic textures)
Jump to navigation Jump to search

Strona zawiera opis tekstur niskiej rozdzielczości (low resolution) stosowanych do trójwymiarowych modeli opisywanych na stronie Pl:OSM-4D

Opis

Tekstury maja wielkosc 64x64 pikseli i składają się z tła o dowolnej wartości RGB oraz prostokątów (symbolizujących zazwyczaj otwory okienne) o innej wartości kolorystycznej R´G´B´. Obszarem zastosowania tego typu tekstur maja byc przede wszystkim budynki w niższym stopniu uszczegółowienia (Level of detail 1 do 3) w trójwymiarowych modelach miast. Mala rozdzielczość tekstur ma ułatwić rendering online trójwymiarowych modeli miast.

siatka pomocnicza do konstrukcji tekstury


Korzyści płynące ze stosowania tej techniki:

  • Szybki rendering dużej liczby trójwymiarowych budynków w czasie rzeczywistym (możliwość poruszania się po modelu 3D online)
  • Ujednolicenie optycznego wyglądu tekstur dla modeli 3D
  • Ujednolicenie nazw tekstur dla modeli 3D: Cala biblioteka będzie mniejsza, nie będzie duplikatów o identycznych nazwach
  • Szybkie teksturowanie dużych obszarów na podstawie niskiej jakości zdjęć

Fototekstury a tekstury niskiej rozdzielczosci

Tekstury wysokiej rozdzielczości (fototekstury) wyglądają zdecydowanie lepiej i docelowo powinno się dążyć do pokrycia nimi wszystkich zmapowanych budynków. Należy sobie jednak zdawać sprawę, ze problematyczne w ich użyciu jest:

  • Wysoki nakład pracy. Kazdy budynek trzeba obfotografowac, najlepiej frontalnie. Zdjecia trzeba poddać obróbce.
  • Wiedza niezbędna do obróbki. Zdjecia musza byc dopasowane kolorystycznie. Auta, drzewa, ludzie, słupy ulicze, latarnie i inne elementy zaslaniajace fasade usuniete ze zdjec a nie zawsze jest to mozliwe. Tekstury powinny byc powtarzalne "seamless"
  • Nazewnictwo. Szybko dojdzie do sytuacji, gdy prawie identyczne tekstury beda uzywane pod wieloma roznymi nazwami w roznych miejscach. Koordynacja rozwoju biblioteki tekstur bedzie trudna.
  • Ryzyko popelnienia bledu w tekturowaniu jest wysokie. Nawet osoby doswiadczone w tworzeniu modeli 3D popelniaja bledy polegajace na zlym wyskalowaniu czy umieszczeniu tekstury w zlym miejscu.
  • Wizualizacja w czasie rzeczywistym. Ilosc danych powstajacych przy uzyciu fototekstur jest duza. Jesli nie zostana rozwiniete mechanizmy optymalizacji tego typu modeli, rendering w czasie rzeczywistym wiekszych obszarów pokrytych tego typu teksturami bedzie trudny.

Mimo tych wad jest oczywiste, ze nalezy dazyc w kierunku pokrywania budynków fototeksturami. Sa one nieporównanie ladniejsze, pozwalaja na bardzo dobra orientacje przestrzenna oraz zawieraja szereg informacji których nie ma w modelach teksturowanych generycznie.

Tagging

Propozycja ponizej:

Syntaks tekstur

Nazwa tekstury zawiera jej opis składający się z cyfr.

W przypadku nazwy typu AABBCCDD :

AA to współrzędna x początku tekstury symbolizującej otwór. Najmniejsza możliwa wartość to 00, największa 63

BB to współrzędna y początku tekstury symbolizującej otwór. Najmniejsza możliwa wartość to 00, największa 63

CC to współrzędna x końca tekstury symbolizującej otwór. Najmniejsza możliwa wartość to 01, największa 64

DD to współrzędna y końca tekstury symbolizującej otwór. Najmniejsza możliwa wartość to 01, największa 64

AA = v1

BB = v2

CC = v3

DD = v4


Każdy następny element tekstury opisywany jest po podkreślniku jako: A´B´C´D´E´F´G´H´

Analogicznie: Tekstura składająca się z n prostokątów jest opisywana jako:

ABCDEFGH_A´B´C´D´E´F´G´H´_ ... AnBnCnDnEnFnGnHn


Przykłady

Key Description Example values Notes
generic_texture puts generic texture on plane yes
texture_rotation rotation of texture on plane in [°] 45°
scale_x Scaling factor along the x-axis in [%] 50%
Scale_y Scaling factor along the y-axis in [%] 74%
texturestart_x Beginning of texture along the x-axis in [%] 0% patrz fragment: texture moving
texturestart_y Beginning of texture along the y-axis in [%] 20% patrz fragment: texture moving
RGB_background Wartosc RGB tla 250,240,230 min:0, max:255
RGB_opening Wartosc RGB "otworu" 0,15,115 min:0, max:255
Nazwa tekstury Wygląd tekstury
20202424
20221127_333221127
38000857
10001945_33222223
06171845_21004045_44175645
20221127_333221127
Skomplikowana nazwa

tekstury

Mozliwe jest uzycie

wielu elementów

01011808_20013708_

39015608_58016308_

01091832_20093732_

39095632_58096332_

01341839_20343739_

39345639_58346339_

01411858_20413758_

39415658_58416358_

01591863_20593763_

39595663_58596363

23292435_24272537_

25262538_26252739_

27242930_29233541_

35243740_37253839_

38263938_39274037_

40294135

texture moving

Jeśli nie zdefiniujemy tego inaczej, tekstura rozpoczyna się od lewego dolnego rogu teksturowanej powierzchni.

Czasami chcemy jednak, by tekstura rozpoczynała się z innego miejsca, ponieważ daje to pożądany optyczny wynik po teksturowaniu.

Na rysunku poniżej widzimy teksturę przesuniętą w stosunku do teksturowanej płaszczyzny w lewo i w dól:


Tekstura powtarza się na poniższym przykładzie sześciokrotnie wzdłuż osi x i trzykrotnie wzdłuż osi y :


Wynik daje symetryczne położenie tekstur na fasadzie: