OSM2World 0.2.0-dev: Technische Fragen

Ich hätte da mal noch einen anderen Vorschlag, vielleicht kannst du das ja mal klären bzw. mir sagen ob das ein gangbarer Weg für euch wäre.

Im Povray-Export hatten wir schon mal das selbe Problem und haben das dort mit einem kleinen Hack gelöst: Wir haben einfach für Flächen mit Multitextur vor die Fläche mit der Grundtextur eine zweite Fläche gesetzt (sehr geringer Abstand zur ersten) und der zweiten Fläche dann eben die Fenstertextur verpasst. Wenn das mit der Transparenz klappt, sieht man an den Nicht-Fenster-Stellen die Hausfasade durch und hat quasi Multitexturing. Da dieser Code für Povray schon vorliegt, sollte das verhältnismässig einfach auch für obj verwendbar bzw. erweiterbar sein.

Dafür gäbe es dann aber hoffentlich ne Einladung in den Dave :slight_smile:

Moin

Es hört sich interessant an, testen kann man das ja mal - so es nicht zuviel Arbeit macht.

Als guter Test für die ganze Geschichte: meshlab (http://meshlab.sourceforge.net/ ) ist ein kostenloses Tool zum anzeigen und bearbeiten von Meshes (3D Daten). Wenn der das OBJ laden kann, können wir das auch (sozusagen).

Nur eins noch zu den Texturen: Wir müssen das exportierte OBJ derzeitig in VRML konvertieren, da geht natürlich was bei verloren. Auch muß ich bei fast jeder Textur noch Opacity setzen. Ich weiß ned, woran das liegt.
Der Export in ein .obj /.x3d/.dae/* ist ja generell für alle 3D Programme interessant, da kann man ja dann ggf. auch sein Quake mit OSM versehen^^

Und zum Thema DAVE: jeden Donnerstag (im Semester) gegen 16 Uhr ist public date - da basteln wir an neuen Dingen und alten Demos herum. Zu dem Zeitpunkt ist öffentlicher Besuch gerne gesehen - so es mehr als 5 Leute sind, ist eine Voranmeldung gerne gesehen. Je nach dem, wie wichitg der Besuch für unsere Forschung/Projekte ist, mit mehr oder weniger Prominenz vor Ort^^
Sprich: Ein Teilbereich von Graz ohne Texturen ist jederzeit anschaubar, andere Bereiche sind auch schnell importiert, wenn das jetzt mit den Texturen gut geht, dann auch mit texturen^^

Amiga4000

Ich habe es auf zwei Rechnern getestet, immer der gleiche Fehler. Ich tippe daher auch auf ein Problem in Java oder einem Treiber. Ich kann nur keinen Bugreport machen, da ich noch nicht weiß, wer der richtige Ansprechpartner ist.

Der eine Rechner hat keine Grafikkarte, das macht der INTEL Core i5-3570K. Wie bekomme ich heraus, welcher Treiber verwendet wird? Installiert ist das Paket xf86-video-intel 2.20.3. Es gibt dann noch vaapi-intel-driver 1.0.18 und xorg-x11-driver-video-intel-legacy 2.9.1.

Der Andere Rechner ist ein Lenovo ThinkPad mit den gleichen installierten Paketen. Da steht “Cantiga Graphics Controller”. Also wahrscheinlich auch in die CPU integriert.

Was meinst du mit “binary oder OS”? Jeweils ein Monitor. Ich kann es noch mal mit einem virtuellen X-Server (VNC) versuchen.

Da kommt zwar das Fenster hoch, aber es gibt dann einen Fehler:

javax.media.opengl.GLException: Not a GL2 implementation

Version 0.1.9 läuft unter VNC.

Sobald man ein Material taggt wird die Farbe nicht mehr beachtet. Bug oder Feature?
Chris

Liegt nicht am Programm, sondern am Stil. Und stimmt auch nur dann, wenn das Material im Stil nicht als “colorable” definiert wird. Das ist im Standardstil derzeit bei all denjenigen Materialien der Fall, wo ich schlicht noch keine Graustufentextur gebastelt habe.

Wer sich das Anpassen des Stils zutraut und die richtigen Knöpfe im Grafikprogramm findet, kann dabei auch mithelfen: Die Textur entfärben und mir geben. Dabei sollte die Textur so hell wie unter Erhaltung der Struktur möglich sein, weil man sonst nach dem Mischen zu weit vom angegebenen Farbwert entfernt ist. Eventuell noch den Standardfarbwert anpassen, so dass er in Kombination mit der Textur sinnvoll aussieht.

In Fällen wie brick ist es komplizierter, dort muss man die Textur wohl in zwei zerlegen - einmal mit den Ziegeln in Graustufen (colorable), darüber die Fugen (die nicht mit eingefärbt werden sollten). Das habe ich bislang noch gar nicht versucht und ist wohl auch eine deutlich größere Herausforderung im Umgang mit dem Grafikprogramm.

Nahmd,

Das lässt sich automatisieren, natürlich nur in den durch den RGB-Farbraum gegebenen Grenzen.
Wo kann man ein paar Beispieltexturen abgreifen?

Gruß Wolf

http://wiki.openstreetmap.org/wiki/Texture_Library
Gruß,
Marek

Und speziell von OSM2World: https://github.com/tordanik/isocore

Das ist der Slippymap-Stil, das Texturpack für den Viewer ist aber nur geringfügig anders. Man sieht am Beispiel von concrete auch noch ein Beispiel, wo ich (mit meinen beschränkten Fähigkeiten in der Grafikbearbeitung ;)) von Hand entfärbt habe.

Nahmd,

Ich hab die Grafiken von Marek bereits abgegriffen.

Wenn ich das Entfärben hinbekomme, gieße ich es in ein Script und dann heißt es: Selbstbedienung. :stuck_out_tongue:

Ich hab von Grafikbearbeitung exakt 0 Ahnung. Es reicht gerade mal zum Erstellen eines Icons mit xpaint (schäm). Aber eine Gelegenheit zum Entfernen der Wahnvorstellung “Farbe” aus der Welt – die lasse ich mir natürlich nicht entgehen. :wink:

Was mir gleich aufgefallen ist: wenn ich entfärbe, und dann mit einer beliebigen Farbe wieder einfärbe, ist die entstehende Fläche einfarbig, also weniger natürlich als das Original.

Man könnte leicht beim Entfärben mehr als einen “Kanal” erzeugen: dann gäbe es z.B. zwei Graustufenbilder, aber beide mit Teiltransparenz. Die Aufteilung in Kanäle ist technisch leicht (Vektorquantisierer), die würde bei den Backsteinen Steine und Mörtel trennen oder beim Zaun die Holzlatten und den Hintergrund.

Die Einzelbilder kann man getrennt einfärben und wieder übereinanderlegen. Die Frage ist: lohnt das? Genauer: kann die 3D-Software damit überhaupt etwas anfangen? Ich kenne mich mit 3D überhaupt nicht aus. :frowning:

Gruß Wolf

OSM2World kann mehrere Einzelbilder übereinanderlegen. Dabei verdecken die “oben” liegenden Texturen die darunterliegenden, außer dort wo die Pixel einen teilweise oder komplett transparenten Alphawert haben.

Die unterste Textur hat dabei eine besondere Rolle, denn diese lässt sich optional einfärben, dazu werden dann die rgb-Werte im Texturpixel (im Intervall 0 bis 1) mit denen der Farbe multipliziert. Die darüber liegenden Schichten lassen sich hingegen nicht einfärben - aber wir haben ja ohnehin normal nur einen Farbwert als Tag zur Verfügung.

Transparenz in der untersten Textur spielt natürlich keine Rolle beim Kombinieren der Texturen, sondern ist dann interessant, wenn das Objekt dort komplett durchsichtig sein soll, z.B. Lücken im Zaun.

Gibt es dafür ne Anleitung, damit sich der Laie etwas drunter vorstellen kann und ggf. auch etwas beitragen kann?
So in etwas: Aus Foto wird Grafik (vorher/nachher), beachte.
Edit: Werden lediglich halbtransparente GIF-Dateien benötigt, so wie für die Webseitengestalltung?

Nahmd,

Am Beispiel Ziegelsteine und Mörtel: wie würde man vorgehen und was sollte man optimal anliefern?

Es wäre ja zu schade, wenn beim Umfärben der Ziegelsteine der Mörtel was abbekommt!

Gruß Wolf

PS: die uncolored Tiles wandern gerade auf den Server. Aber des ziagt sich.

Nahmd,

[×] done.

Gruß Wolf

Wow, ging ja flott. :open_mouth:

Also, die untere Schicht wären einfach entfärbte Ziegelsteine. Die Textur und der Farbwert sollten so sein, dass die Steine hinterher passen, der Mörtel ist wurscht.

In der zweiten Textur (als separate Datei) dann den Mörtel in seiner natürlichen Färbung und mit Transparenz (partielle oder vollständige Transparenz über Alphakanal der jeweiligen Pixel) dort, wo die Steine zu sehen sein sollen.

Nahmd,

Ok.

Ein automatisierter Entfärber würde also die angelieferte Graphik in eine anzugebende Anzahl von Kanälen aufteilen, meistens einen, bei Steinen und Mörteln zwei, vielleicht gibts auch Anwendungen mit noch mehr Kanälen.

Danach wird jedes Pixel einem Kanal zugeordnet, und je Kanal wird eine Datei erstellt mit den Originalfarbwerten, aber nur den zum Kanal gehörenden Pixeln (Rest transparent), einer weiteren Graustufendatei (mit der gleichen Aufteilung opaque/transparent), und eine Textdatei mit dem ausgewählten Farbwert.

Hier ist ein erstes Beispiel. Ich bin gespannt, was ihr daraus bastelt.

Denn ich will hölzerne Holzhütten und steinerne Steinhütten sehen. Und Kühe.

Gruß Wolf

Edit: besseres Beispiel.

Es scheint derzeit noch Probleme bei Inseln zu geben:
http://maps.osm2world.org/?zoom=15&lat=53.61547&lon=11.47677
http://www.openstreetmap.org/?lat=53.6165&lon=11.4736&zoom=14

Da sind derzeit alle Gebäude ohne Land im Wasser :wink:

Dann vergleiche mal Kaninchenwerder mit der Insel Lieps (die wird dargestellt) weiter nördlich im gleichen See. Dort wird place=island um Umfang verwendet, bei Kaninchenwerder fehlt das. Ob man das nun als Fehler im Renderer ansieht oder als unvollständige Daten, das mögen kompetentere beurteilen.

Edbert (EvanE)

Hallo,
lustiges Problemchen:

Bei einer meiner beiden Mäuse (Microsoft Notebook Optical 3000) bewegt sich die Kamera rückwärts, egal in welche Richtung ich das Mausrad drehe. In anderen Programmen arbeitet die Maus korrekt.

Chris

Edit: Gelöst (in der Intellipoint Software kann man Ausnahmen definieren, die nicht mit dem weichen Bildlauf kompatibel sind).

Nahmd,

Ein wenig untergegangen: ich hatte da etwas gebastelt.

Wird ein Tool für diesen Bearbeitungsablauf noch gebraucht?

Gruß Wolf