ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4396259
Jetzt (Chat):
18 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"zfxTerraGen" von Oliver Düvel (Oliver Düvel)


Hallo Community,

am Wochenende hab ich das erste C# Projekt erstellt. Ich wollte einfach mal wissen, ob C# so schlecht ist, wie alle immer davon berichten. Da es für mich wichtig ist, erst eine fundierte Grundlage für eine Meinung zu haben, bevor ich sie verbreite, hab ich eine Toolidee genommen und mir fest vorgenommen sie in C# zu realisieren.

Dabei ist zfxTerraGen in der 1. Version entstanden. Und ich muss sagen, C# kann richtig Spass machen. Als Hardcore C++ muss man sich aber etwas chaotisieren, ich glaub das umschreibt es am besten :D

Aber nun mal zu zfxTerraGen. Mit dem Tool können Heightmaps erstellt werden. Hier mal in einer Auflistung die Eigenschaften:

- 3 unterschiedliche Algorithmen (Fault, Midpoint Displacement, Particledeposition)
- Fault kann in 3 Modis laufen (FAULT_STEP, FAULT_SINUS, FAULT_COSINUS)
- Einfache Bedienung aller notwendigen Parameter
- Fluvialmap
- Civilmap
- Grösse 2*2 bis 65536*65536
- .bmp, .jpg, .png, .gif usw... (C# Standards)

Fluvialmap: (Editor oben rechts)
Ihr könnt dort kleinere Streifen sehen, das sind Flüsse. Diese Flüsse wurden durch virtuellen Regen auf der Heightmap berechnet. Es werden schon anständige Ergebnisse damit erzielt.

Civilmap: (Editor unten rechts)
Diese Karte hab ich in einem Malprogramm in 2 Minuten erstellt gehabt (Bezierkurven / Grünerschatten / leichtes aufhellen). Die Civilmap stellt Flächen und Strassen dar, die in die Heightmap mit eingerechnet werden. Häuser, Städte stehen damit wirklich auf einer Ebene und Strassen sind damit auch vorhanden.

Originmap: (Editor unten links)
Ist die vom Algorithmus errechnete Karte, auf der die Flow- und Civilmap berechnet werden.

Final Heightmap: (Editor oben links)
Hier ist unser Ergebnis aus den ganzen Karten. Diese Karte wird dann einfach abgespeichert (STRG+S oder Menu).

Mit der neuen Heightmap in der Tasche geht’s auch gleich zum Blender. Dieser nimmt sich die Heightmap und blendet skriptgesteuert 6 unterschiedliche Höhentexturen zu einer Finalmap zusammen.

Die beiden Sachen (Heightmap und OverlayTextur) hab ich noch mal in einen einfachen Bruteforce renderer reingeschoben. Den hab ich in der Terrainklasse mit einem einfachen Generator für Light- und Shadowmap ausgestattet. Über einem Octree wird die Geometrie per Frustumculling gecullt. Also Basics…

Vom Prinzip sind die beiden Screenshots auf der rechten Seite einfach nur ein simples Mesh mit einer wirklich netten Textur. Das war ja auch das Ziel von dem Wochendprojekt zfxTerraGen.

Mit ein wenig Geschick könnt ihr den jeweiligen Frustum auf den Screenshots erkennen. Dazu hab ich mal einen groben / ca Frustum für die bessere Identifikation auf der Heightmap dargestellt. Am besten kann man sich an Strassen im Terrain orientieren, die sind quer durchs Gebirge geschnitten.

Zukunft:
In späteren Versionen werden natürlich die vorhandenen Algos noch verbessert (Fluvialmap usw.) Der Blender wird direkt integriert, wie auch eine einfacher Viewer.

Ich hoffe das ihr ein paar Inspirationen bekommen habt und auch mal einen kurzen Eindruck von dem, was mal eben schnell mit C# entwickelt werden kann. Ich stehe bei C# noch völlig am Anfang und finde das Ergebnis wirklich toll. Das gesamte Projekt ist vom Scratch also 0 Byte bis fertig in weniger als 20 Stunden entwickelt worden. Ab heute (Donnerstag) befinde ich mich erstmal im Urlaub und werde unregelmässig ins Forum kommen, bin aber ab nächste Woche Donnerstag wieder da.

Gruß
Oliver






Von tl2000 am 22.05.2003, 09:22:34 Uhr
sieht sehr gut aus! weiter so..

Von Shooter am 22.05.2003, 10:47:01 Uhr
wirklich schick... :)

PS: Schönen Urlaub

Von matrian am 22.05.2003, 18:48:50 Uhr
Der Editor macht für 20 Stunden Arbeit und vom Umfang einen tollen Eindruck. Die Sache mit der Civilmap find ich besonders cool!

Ich benutze C# schon etwas länger und hab bis jetzt alles damit hinbekommen, was ich auch in C++ gemacht habe. Ich finde den Syntax einfach noch ein bisschen "freundlicher" und muss sagen, dass alle Vorurteile nicht berechtigt sind!!!!

Von Patrick am 22.05.2003, 19:23:10 Uhr
Hi,

also ich fin C# auch was feines, nur es gibt keine guten Tutorials dafür :(

Aber der Editor sieht gut aus, ist das Linux oder XP?

Von Hippokrates am 22.05.2003, 20:42:14 Uhr
Sieht genial aus ^^

Wie hast du denn die coolen Titelleisten hinbekommen?
Und woher hast du dir das nötige C# Wissen besorgt?

Von Oliver Düvel am 22.05.2003, 21:03:10 Uhr
Salute,...

@tl2000: thx.

@matrian: da ich aus den tiefen von über ASM->C++ komme, ist der etwas freundlichere Syntax aus meiner Sicht das was ich mit chaotisieren gemeint hab. Letztlich haben damals auch alle massiv gegen c++ geschimpft, was das denn für ein Unsinn ist. Heute kann man es sich nicht mehr weg denken. Und momentan steht man noch gaaanz oben auf der Welle :)

@Patrick: Es gibt ein wirklich hilfreichen Link, der als Referenz sehr gut ist. http://www.galileocomputing.de/openbook/csharp/ Fang einfach mal mit einem kleinen Projekt an und Spiel ein wenig rum, so lernt es sich am besten...

@Hippokrates: Ich hab meinen Desktop vollkommen individualisiert. Unter http://www.themexp.org gibt es ziemlich viel Informationen. (Im Moment gerade etwas down sehe ich gerade...) Und zu C# sach ich nur, Just do it.

@Shooter: thx. und den werde ich gleich antreten, meinen Urlaub. Ich schau aber ab und an mal rein.

Von MK42 am 23.05.2003, 08:47:04 Uhr
Hallo Oliver!

Es scheint als hätte mein Telefonat mit Dir gefruchtet :)

Sieht gut aus. Ich weiß zwar noch nicht, was Du mit 'chaotisieren' meinst. Ich finde eher, dass man die schlechten Angewohnheiten als C++ Programmierer erstmal ablegen muss.

Hoffe es wird nicht Dein letztes C# Projekt sein.

Gruß,
Marco

Von Stefan Zerbst am 23.05.2003, 11:35:59 Uhr
Wer ASM als geordnet empfindet... :D

Von BlackDragon am 23.05.2003, 12:44:23 Uhr
Gibts das Proggie auch wo zum downloaden?
Wills mal ausprobieren :)

Von Stefan Zerbst am 23.05.2003, 14:35:28 Uhr
Hi,

nein bisher gibt es keinen Download. Eventuell wird es später mal einen geben, wenn das Tool so weit fit ist. Bisher ist es aber rein intern. :)

Ciao,
Stefan

Von Oliver Düvel am 23.05.2003, 22:12:43 Uhr
Hallo aus Kroatien :D...

@Marco: jo dank unserem Telefonat ist das alles entstanden. Das was in der Entwicklung am längsten gedauert hat ist die Konvertierung von dem internen Pictureboxformat RGBA-RLE in ein stumpfes 24Bit Graustufen Bild.

@Stefan: :D

@Black Dragon: Wie Stefan schon sagte, ist die Version nicht für eine Verteilung geeignet und entspricht nicht unserem 'zfx'-Standard. In späteren Versionen wird das anders aussehen.

Von TomCat am 24.05.2003, 14:06:03 Uhr
Hi,

@Oliver: was war denn das Problem an der RLE-Encoding zu 24Bit Graustufen ?

@Zerbie: was ist denn gegen ASM zu sagen ?
Der Maschinencode sieht letztendlich wesentlich geordneter aus, und hat weit weniger Labels als dieser VC++ Code. :D

ciao,
TomCat:)


Von MX35 am 25.05.2003, 00:51:01 Uhr
Mich würde mal interessieren, welches StyleXP Theme du da hast, das sieht ja hammergeil aus ;) ( natürlich das programm selber auch )
Gruß
Hanno

Von Oliver Düvel am 25.05.2003, 20:28:19 Uhr
@TomCat: Ich war einfach zu faul das in den Loader zu integrieren. :) Ausserdem hab ich in solchen Sachen echt dicken Kopf :D

@MX35: Der Style nennt sich Sentinel.