OSM2World 0.2.0-dev: Technische Fragen

Na, das ist wahrscheinlich einfach: In der .bat steht “-Xmx2G”, java darf sich also 2G Speicher reservieren, den du nicht zur Verfügung hast - einfach mal in einen kleineren Wert ändern. Wenn es nicht hilft, schreibe in die .bat noch eine Zeile “pause”, dann bleibt das Fenster solange offen bis du eine Taste drückst und die Fehlermeldung lesen kannst.

Also ich finde die momentane Steuerung mit linker/rechter Maustaste schon nicht schlecht. Mich irritiert nur die Schwenkbewegung mit Pfeil rechts/links - das resultierende “schiefe” Bild ist in dieser Anwendung eigentlich unnütz. Besser wäre es, um die senkrechte Achse zu drehen.

Super, danke das funktioniert. Jetzt wird die Anwendung geladen. ABER:
Hab es mit 1G 1200M und 800M probiert, aber offenbar wird die Menüleiste nicht generiert, denn dort ist im neuen Fenster nix. Der schwarze Hintergrund mit dem weißen Text ist dafür zu sehen. Wenn man irgendwo klickt, dann wird alles weiß, dann hilft nur noch ein kill über die taskman.exe :frowning:
(Es wird kein Fehler in cmd angezeigt.)

Moin!

Hab jetzt mal das Graz Modell mit den Texturen versucht - im OSM2World GUI schaut es gut aus, beim Export to obj jedoch wirds unansehnlich.
Wenn man das mit DeepExploration laden will, zeigt er keine Texturen an, nur die bäume werden schwazre flächen…
Tips?

edit ahh, die Texturen sind doch da, aber nur schwarz im Falle der Bäume.
Nur die Fenster fehlen noch…

Amiga4000

Ich habe mittlerweile einige gewünschte Features eingebaut, siehe Ursprungspost. Wer in den Genuss kommen will, muss updaten.

Zu den Abstürzen: Probleme mit der Grafik, die zwischen 0.1.9 und 0.2.0 dazu gekommen sind, hängen höchstwahrscheinlich mit der seit der neuesten Versionsnummer eingesetzten neueren Version der Bibliothek JOGL (Java OpenGL Bindings) zusammen, die auch Kendzi3D einsetzt. Zu diesem Thema wird sich aber voraussichtlich noch Peda zu Wort melden.

Darstellungsprobleme bei den Bäumen können ein Hinweis auf Probleme mit Transparenz (Alpha-Werte in den Texturen) sein.

Die Fenster werden über Multitexturing dargestellt, also mehrere Texturen übereinander. Das lässt sich meines Wissens in .obj gar nicht so abbilden - ein vergleichbares Problem wurde auch hier berichtet: #30. Ich bin mir unschlüssig, was der beste Workaround dafür ist.

Moin

Ok, das Problem mit de Bäumen hab ich gelöst bekommen in DeepExploration - die texturen sehen OK, muste in DeepExploration nur die Opacity setzen für die Textur. Un klar, die Bäume mit texturen machen kaum schatten, die 3D Volumenmodelle haben bessere Schatten. Vielleicht 4 oder 8 mal pro baum, statt 2 mal für mehr Schatten?
Fenster sind durchaus ein Problem, das mit multi-texturing kann .obj ned so recht abbilden. Schade, denn fenster geben bei Gebäuden doch schon einen ziemlich guten Eindruck über die Höhe des Gebäudes.
Man müßte die 2 Texturen “baken” - zusammenkleben als eine Textur, das jedoch ist erheblich Aufwand und kostet Speicher. Oder eine Textur mit Fenster je Hauswand-material?

Amiga4000

Mehrmals ausprobiert. Sieht schlecht aus.
Ich denke, es sit besser, wir setzen neue Standards, selbst wenn *.obj und einigen andere gängige Formate mit der Sache noch wenig anfangen können.

Auf jedem fall- besten Dank für Dein Tun!

Grüße,
Marek

Moin

Nun jaa, neue Standards hin oder her, die Frage nach Sinn und Nutzen kommt schon auf - mit einem ordentlichem Exporter kann man die erstellen Daten weiter nutzen ohne erheblichen Mehraufwand. Bleibt die Frage: One Way Dead End Street oder Mehrnutzen?
Ausserdem gibt es ausreichend viele 3D Formate - collada und vrml sind nach .obj die wichtigeren.
Aber ich bin weder coder noch experte… Ich kann leider weder einen ordentlichen Exporter schreiben noch das Texturproblem lösen. Leider.

Amiga4000

Hallo Amiga4000

Du hast die wichtige Frage schon angedeutet.
Soll man sich nach den unzureichenden Fähigkeiten eines Austauschformates richten, wenn es doch viele weiteren gibt? Ich bin auch kein 3D-Experte, eine Forderung nach mehrlagigen Texturen scheint mir jedoch nicht besonders abgehoben.

Man soll sich meiner Meinung nach weder nach dem funktionsreichsten noch nach dem funktionsärmsten Format richten, sondern eine Auswahl von Funktionen treffen, die für einen selbst wichtig sind und die von einigen Austauschformaten unterstützt werden.
Wo das für ein Zielformat nicht passt, muss man entweder eine Umgehung entwickeln oder mit der unzureichenden Unterstützung leben. Es gibt ja andere Formate zum ausweichen.

Edbert (EvanE)

Amiga4000, könnten deine Tools denn auch andere Formate wie z.B. Collada lesen?

Für einen kurzfristigen Workaround wäre es mit überschaubarem Aufwand möglich, über die Konfigurationsdateien Wandtexturen mit eingebauten Fenstern einstellbar zu machen. (Die müssten dann allerdings auch erst mal gebastelt werden!) Gebäudefarben könnten so aber nicht berücksichtigt werden.

Genauso wie eine Firma wie ESRI in der Lage ist ein Importfilter für OSM Daten zu schreiben, wird es möglich sein, Multitexturen zu importieren. Ein Praktikat hat einen solchen Tool für meine Firma schon im Jahr 2001 geschrieben.
Im Grunde ist es eien einfache Sache: Unterstütze eine Format Multitexturen nicht, so muß ein Export Tool für Texturen geschrieben werden, mit dem die Texturen “zusammengeklebt” werden. Es ist keine unmögliche Sache.

Moin

OpenSG selber kann collada recht gut, collada hat sich auch generell zu einem guten Austauschformat zwischen den 3D Welten entwickelt.
Aber ich möchte nicht sagen: baut dieses oder jenes nur weil ICH es brauchen könnte.
Man sollte ein brauchbares Format wählen, welches man a) selber beherrscht und b) die nötigen Features kann.
Ich bin zur Zeit schon froh, das man einigermassen nach .obj exportieren kann (auch wenn nicht ganz sauber) und somit ich wenigstend etwas habe.
Ich weiß selber, das das eine Menge Arbeit ist, und den idealen Weg kenne ich nicht.

Wir haben ja auch Tools wie DeepExploration zur Verfügung, welches eine Menge 3D Formate lesen und wandeln kann. Aber bei jedem dieser Umwandlungen gehen Informationen verloren.
Deswegen wünsche ich mir (leicht blauäugig wie ein Kind zu XMas) ein Export in eine Format, welches viele Features hat. Ich werde nochmal bei den Experten nachfragen…

Amiga

Dann mach ma des doch mal :slight_smile: Leider erkennt man ja so nicht so viel, aber ich hätte mal darauf getippt, dass der Version-String der da geprüft werden soll 0 ist?!
Kannst du mal bitte sagen, welche Grafikkarte du hast, welchen Treiber du verwendest (möglichst genaue Version, aber vor allem binary oder OS) und dein Monitorsetup (1,2,3,… Monitore?).

Edit: Um es einfacher auszudrücken: Meiner Meinung nach ist das ein Bug in deinem Grafikkartentreiber. Die Antworten auf meine Fragen wären dennoch interessant :slight_smile:

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