Zusi 3.x: Grafikengine

Hier geht's um Verbesserungsvorschläge für zukünftige Zusi 2-Versionen
Nachricht
Autor
Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

Zusi 3.x: Grafikengine

#1 Beitrag von Max Senft »

Hi @ll,

ich will jetz mal von euch hören, was ihr gerne hättet, was die 3D-Engine von Zusi 3.x alles können sollte!

Ich bitte euch aber im Rahmen des Machbaren zu bleiben. ?(

Bye
Max Senft

Benutzeravatar
Philipp Küster
Beiträge: 3209
Registriert: 13.04.2002 18:09:36
Wohnort: München
Kontaktdaten:

#2 Beitrag von Philipp Küster »

Die Führerstände sollten so bleiben (bmp Fst). Da gibts nichts mehr zu verbessern.

Die Ls-Dateien sollen so " rund" sein. Keine Ahnung wie das heißt (rendern???) Halt so wie das Krokodil von Felix.

Und die Grafik der Strecken aufpeppen (evtl wie vom MSTS oder so).

CU Tille
CU Tille

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

#3 Beitrag von Andreas Karg »

Aaalso, ich wäre da allgemein für folgende Sachen:
- Texturen
- Transparenz
- Lichteffekte
- 120 FPS bei 1600*1200*32 Bit und 2 Millionen Polygonen auf dem Bild.

Was den Rest der Engine angeht:

- Vernünftige Ladevorgänge (Nicht jeden Waggon x-mal laden, sondern jeden nur einmal mit Pointern auf den.)
- Unterstützung für PlugIns, mit denen man notfalls eigene Systeme umsetzen kann wie die unlimitierte AFB in der 143, das Steuerungssystem der 481 oder kombinierte Fahr-/Bremshebel. Exotische PZB-Systeme wären damit dann genauso drin.
- Dynamische Sounds (siehe andere Threads)

[Nachtrag:]

Tille, das, was du meinst nennt man "Gouraud Shading".
Zuletzt geändert von Andreas Karg am 02.07.2002 22:47:26, insgesamt 1-mal geändert.

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

#4 Beitrag von Max Senft »

Hi,
- Texturen
- Transparenz
- Lichteffekte
- 120 FPS bei 1600*1200*32 Bit und 2 Millionen Polygonen auf dem Bild.
Bis auf letzteres (außer man hat ne entsprechende Grafikkarte) ist eigentlich alles realisierbar. :-)
Was den Rest der Engine angeht:

- Vernünftige Ladevorgänge (Nicht jeden Waggon x-mal laden, sondern jeden nur einmal mit Pointern auf den.)
- Unterstützung für PlugIns, mit denen man notfalls eigene Systeme umsetzen kann wie die unlimitierte AFB in der 143, das Steuerungssystem der 481 oder kombinierte Fahr-/Bremshebel. Exotische PZB-Systeme wären damit dann genauso drin.
- Dynamische Sounds (siehe andere Threads)
Nun ja... also erstmal haben diese Sachen bis auf das mit dem Ladevorgang nichts mit der 3D-Engine zu tun. Ersteres und Letzteres ist eigentlich auch kein Problem, man muss es nur programmieren. :rolleyes:

Wie das mit der Zweiteren aussieht, weiß ich nicht. Mit Plug-Ins bin ich nicht so vertraut.

Bye
Max Senft
PS: Weiter so!

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

#5 Beitrag von Andreas Karg »

Na, was willst du denn zur 3D-Engine groß hören? Dass es Echtzeitreflexionen, Tag-/Nachtwechsel mit echten Sternbildern und UFOs geben soll? Passagiere auf den Bahnsteigen? Tfs mit Sonnenbrillen, Gleisarbeiter, schöne Animationen und Rauch aus den Abgasrohren? Sprühende Funken beim Bremsen und zwischen Panto und Fahrdraht? Kaffeeflecken auf den Buchfahrplänen? Echtzeitgenerierte Graffitos auf den S-Bahnen? (Nur echt mit 52 Zähnen und flüchtenden Sprayern)

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

#6 Beitrag von Max Senft »

Hi,

Echtzeitreflexionen
Wenn du damit Spiegel meinst: Geht auch

Tag-/Nachtwechsel mit echten Sternbildern und UFOs
Höhö... Tag-/Nacht gibts ja jetz schon... Krieg ich zwar nie mit, aber soll funktionieren. :-p

Passagiere auf den Bahnsteigen
Gehört das zur 3D-Engine?

Tfs mit Sonnenbrillen
dito

Gleisarbeiter
dito

schöne Animationen und Rauch aus den Abgasrohren
Nun ja ... schöne Animationen: Was gehört da dazu? ;) Flackernde Lichter beim Wechsel Hp0 Hp1 (als Beispiel)? :-p Rauch gehört auch in die Kategorie. Aber brauch man das? *überfragtbin*

Sprühende Funken beim Bremsen und zwischen Panto und Fahrdraht
Braucht man das? Sieht man doch eh nicht (außer bei der Außenansicht). ;-)

Kaffeeflecken auf den Buchfahrplänen?
Is des etwa 3D???

Echtzeitgenerierte Graffitos auf den S-Bahnen? (Nur echt mit 52 Zähnen und flüchtenden Sprayern)
Nun ja ... könnte man reinprogrammieren. Wär ein cooles Gimmick. :-p

Bye
Max Senft

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

#7 Beitrag von Andreas Karg »

Echtzeitreflexionen
Wenn du damit Spiegel meinst: Geht auch

Frisch geputzte Scheiben oder der ganze ICE3 zum Beistift.

Tag-/Nachtwechsel mit echten Sternbildern und UFOs
Höhö... Tag-/Nacht gibts ja jetz schon... Krieg ich zwar nie mit, aber soll funktionieren. :-p

Aber mit ganz ohne Sterne und UFOs. Und zu einer echten Nacht gehören auch noch Grillenzirpen 3D und Insekten, die sich an der Scheibe zermatschen.

Passagiere auf den Bahnsteigen
Gehört das zur 3D-Engine?

Wohin sonst?

Tfs mit Sonnenbrillen
dito

Und offene Fenster zum Ellbogen raushängen und einen Sitzplatz für die Frisöse.

Gleisarbeiter
dito

Dann braucht es aber noch Max-Payne-Stylische Schallwellenluftlichtflimmerverbiegereien bei den komischen Trötsirenen.

schöne Animationen und Rauch aus den Abgasrohren
Nun ja ... schöne Animationen: Was gehört da dazu? ;) Flackernde Lichter beim Wechsel Hp0 Hp1 (als Beispiel)? :-p Rauch gehört auch in die Kategorie. Aber brauch man das? *überfragtbin*

Ja.

Sprühende Funken beim Bremsen und zwischen Panto und Fahrdraht
Braucht man das? Sieht man doch eh nicht (außer bei der Außenansicht). ;-)

Merke: Ich sehe alles.

Kaffeeflecken auf den Buchfahrplänen?
Is des etwa 3D???

Kommt drauf an, wie du es simulierst. Mit ner virtuellen Kaffeetasse zum Umkippen bestimmt.

Echtzeitgenerierte Graffitos auf den S-Bahnen? (Nur echt mit 52 Zähnen und flüchtenden Sprayern)
Nun ja ... könnte man reinprogrammieren. Wär ein cooles Gimmick. :-p

Dann braucht es aber noch Dreck auf den Fahrzeugen, wenn es mal ins Gelände geht. Colin McRae lässt grüßen.

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

#8 Beitrag von Max Senft »

Hi,

ich glaube, das wird jetzt ein bischen Off-Topic. Deswegen antworte ich jetz nichmehr da drauf.

Auch wenn ich mich beim Lesen fast totgelacht hab. :hat2

Haben denn die Anderen noch Ideen?

Bye
Max Senft

Benutzeravatar
Peter Zimmermann
Beiträge: 9739
Registriert: 07.11.2001 21:47:43
Wohnort: RSI

#9 Beitrag von Peter Zimmermann »

Original von Max Senft
Hi @ll,
ich will jetzt mal von hören, was ihr gerne hättet, was die 3D-Engine von Zusi 3.x alles können sollte!
Ich bitte euch aber im Rahmen des Machbaren zu bleiben.
Ich glaube, Du solltest erst einmal klären, was Du mit 3D-Engine meinst. ;D

Wie sieht es eigentlich mit den "gekappten" Gleisen in den Tunnels aus? :D
Tf RSI folgender Baureihen: 146, 245, 425/426, 611/612, 622, 628/629, 641, 644, 650, 763-765, 766/767

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

#10 Beitrag von Roland Ziegler »

(außer Konkurrenz)

vielleicht dynamisch nachgeladenes Terrain in unterschiedlichen Auflösungen ?

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

#11 Beitrag von Max Senft »

Hi,

boah Roland, du musst natürlich gleich mal wieder mit den harten Sachen ankommen! :wow
Ob man das hinkriegt? ?(

Bye
Max Senft

Benutzeravatar
Stefan Hums
Beiträge: 2406
Registriert: 05.11.2001 21:14:24
Wohnort: Erlbach (Vogtland)

#12 Beitrag von Stefan Hums »

Wie wär´s mit dem aus der Türe pinkelnden Lokführer? (siehe Zusi-Forum) :mua

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

#13 Beitrag von Roland Ziegler »

@Max,

ich hab da schon ein paar Ideen, wobei die eine oder andere Vorgehensweise aus dem Geländeformer übernommen würde. Das ist aber momentan alles noch recht vage - nur, ohne einen solchen Mechanismus kann man sich längere Strecken und vermaschte Netze mit ein wenig Landschaftsdetaillierung wohl gleich "von der Backe schminken".

gerhard
Beiträge: 297
Registriert: 10.12.2001 21:55:35
Wohnort: Germering

#14 Beitrag von gerhard »

Gäbe es die Möglichkeit Landschaft und Führerstand zu trennen um zb. auf zwei bildschirmen zu fahren, oder den buchfahrplan auf zweites Fenster legen?
mfg Gerhard Wohlschläger

gerhard
Beiträge: 297
Registriert: 10.12.2001 21:55:35
Wohnort: Germering

#15 Beitrag von gerhard »

Gleich noch eine weitere Frage. sollte man nicht auf Directx Version 9, die ab herbst erscheint warten um aktuell zu sein.Sollte ja wahnsinnige möglichkeiten haben laut Microsoft.
Mfg
Gerhard Wohlschläger

Ps. um nachfragen zum müncher Hbf und erweiterungen zuvorzukommen es wird im Rahmen meiner möglichkeiten daran gearbeitet. zur Zeit werden im Hbf die Gleissperrsignale eingearbeitet. Da fast alle Gruppensignalfunktionen habe ein ziemlicher arbeitsaufwand.

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

#16 Beitrag von Max Senft »

Hi,

nun ja... DirectX 9: Neee du ;) Ich glaub, man sollte DirectX 7 oder 8 benutzen, denn es gibt auch noch langsame Computer, die kein System drauf haben, die so neue Sachen unterstützen.

Was du mit "Führerstand und Landschaft trennen" meinst, versteh ich nich so ganz. Musste mir nochmal erklären! :]

Bye
Max Senft
Administrator, Programmierer, Ansprechpartner bei Problemen mit dem Board

Benutzeravatar
Felix_Aeschimann
Beiträge: 512
Registriert: 06.11.2001 20:02:46
Aktuelle Projekte: Gotthardbahn
Wohnort: Dielsdorf (Schweiz)
Kontaktdaten:

Mal was ernstes zum Thema

#17 Beitrag von Felix_Aeschimann »

Was ich als oberste Priorität sähe, wäre das aus-dem-Keller-holen der FPS-Rate. So das man auch auf Bennis SFS wieder mit viel Freude und wenig Ruckeln unterwegs sein kann.

Zum Thema Texturen: Muss ja nicht unbedingt sein. Die Gleisbettung bei MSTS sieht übrigens wenn ihr mich fragt scheisse aus, da ist die untexturierte, dafür 3dimensionale von Zusi &n Tick besser.

Zudem: Falls man das so schön gerendert hinkriecht (<- Anspeilung auf die Framerate, die das wohl hervorrufen würde ;) ), wäre das doch auch was, oder?

@Roland: Da haste was losgetreten, wie mir scheint... ;D
Felix Aeschimann; Dielsdorf (Schweiz)
http://gotthardbahn.zusi.ch

ZPA - Schweiz
http://pruefamt.zusi.ch

Holkf
Beiträge: 50
Registriert: 20.05.2002 06:22:38
Wohnort: Berlin

#18 Beitrag von Holkf »

Hallochen,
für mich persönlich wäre zum Thema Grafik zu sagen, das es eigentlich in der Hauptsache am wichtigsten wäre für Gebäude und ähnliches, Texturen zu haben. Nun gut eine schön texturierte Lok ist auch nicht zu verachten. Wobei wichtig ist wirklich, das Frameraten nicht noch mehr in den Keller gehen. Wobei ich als nicht programmier Profi glaube das es doch schneller gehen müßte Textur darzustellen als zighundert Polygone, oder????

Gruß Holger

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

#19 Beitrag von Andreas Karg »

Jup, Texturen gehen da eindeutig schneller. Die Grafikkarte hat ja für sowas den so genannten "Texturspeicher", der praktisch alles das ist, was auf der Schachtel immer in einem gelben Explosionsblasendingsbums mit roter Schrift beschrieben ist. ZuSi verwendet ja zurzeit nur 4Byte (Oder 2 oder 3?) "Textur", nämlich die Farbwertangabe. Und jedes Polygon muss noch durch einen "Z-Prüfer" durchgejagt werden, um zu testen, ob und was man von dem Ding dann sieht. Wenn man da eine Werbelok oder so nimmt und da die Werbung mit 20 Polygonen umsetzt, dann muss jedes dieser Polygone geprüft werden, anstatt dass nur 2 Polygone (Mal angenommen, die Fläche ist viereckig) geprüft werden und auf die sichtbare Fläche dann eine schöne Textur draufgepappt würde.

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

#20 Beitrag von Roland Ziegler »

Texturen sind per se nicht schneller zu rendern als Polygone. Eine Textur liegt ja auf einem Polygon.

Das Polygon selbst kostet. Das hat primär etwas mit der Vertex-Verarbeitung zu tun und den damit verbundenen Transformations - und Lichtberechnungen (T&L), sekundär mit der Übergabe der Vertices und deren Speicherung in der Grpahikkarte, das Sekundäre gilt aber genauso für Texturen.

Als Ergebnis von T&L entsteht für die Polygonfläche eine Bitmap, die Pixel für Pixel auch nach der Transformation nicht nur einen x- und y-Wert, sondern auch einen z-Wert hat, der, je nach 3D-Modell, geschickterweise mit einem Tiefenpuffer geprüft wird.

In Ergänzung zu dieser "T&L-Bitmap" kann man auch Texturen, wiederum Bitmaps, verwenden. Die Aufgabe der Tiefenprüfung bleibt aber bestehen.

Nur wird man man bei Verwendung von Texturen zunächst mal diejenigen Polygone einsparen, die auf der selben Ebene wie das Hintergrundpolygon liegen (bei Inkaufnahme einer gewissen Unschärfe, wenn die Textur vergrößert wird)

Die Geschwindigkeitssteigerung ergibt sich durch eben diese Einsparung an Polygonen.

So sind dann Lüftungsgitter, DB-Kekse und andere Werbung typischer Gegenstand von Texturen.

Mit aktueller 3D-Hardware lassen sich auch 3-dimensionale Texturen (Bump-Mapping) visualisieren, so dass sich unebene Oberflächen darstellen lassen und noch mehr Polygone eingespart werden könnten.

Da es ist sicher ein ganz wesentliches Ziel ist, Polygone einzusparen, wird man dazu aber auch noch andere Möglichkeiten nutzen, z.B. Progressive Meshes.

Das sind Maschenmodelle, bei denen die Anzahl der Vertices variabel ist. Eine 3D-Applikation reduziert die Anzahl der zu rendernden Vertices, wenn sich das Modell weiter vom Betrachter entfernt befindet. DirectX stellt entsprechende Algorithmen zur Verfügung.

Zu den DirectX-Versionen: Die aktuelle ist 8.1 und "well established". Auf älteren Versionen anzufangen, halte ich nicht für sinnvoll, da bei 8 eine ziemliche Konsolidierung stattgefunden hat mit einer Vereinheitlichung von 2D und 3D (und Wegfall von RM). Was zukünftige Versionen angeht, so steht zu erwarten, dass insbesondere neue "tolle" Hardware-Features unterstützt werden, die aller Voraussicht nach für Zusi mit seinen vom ganzen Prinzip eher bescheidenen 3D-Ansprüchen wenig nützen, und vermutlich auch nicht einfach zu nutzen wären (steep learning Curve). Und die notwendige seriöse Sekundärliteratur wird mindestens 6 Monate nach Erscheinen einer DX-Version auf sich warten lassen.

Antworten