Laden...

Terrain Rendering Tutorial

Erstellt von Hitman II vor 18 Jahren Letzter Beitrag vor 16 Jahren 39.413 Views
Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren
Terrain Rendering Tutorial

Hallo

Wie bereits angedroht, habe ich mal versucht ein Einsteigertutorial zum Thema Terrain Rendering zu schreiben. Und hier haben wir jetzt das Resultat. Da ich mich selber erst seit kurzer Zeit mit Managed DirectX und Terrain Rendering befasse, ist der Code sicher noch nicht ganz so ausgereift, wie er sein sollte. Deshalb möchte ich an dieser Stelle auch die etwas erfahrerenen Programmierer unter euch dazu aufrufen, doch mal einen Blick darauf zu werfen und mich zu korrigieren, wenn ihr Verbesserungsvorschläge habt. Aber auch alle anderen unter euch sind herzlich dazu eingeladen, mitzuhelfen, dieses Tutorial zu verbessern. Einfach per E-Mail oder direkt ins Forum.

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Und hier kommt gleich auch noch Teil II. So, jetzt wird es sicher wieder etwas länger dauern, bis der nächste Teil kommt. Ich muss mir zuerst selber wieder was beibringen 🙂

PS: Es ist nicht verboten, das jemand, der eine gute Idee hat, an dem Tutorial weiterschreibt.

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

C
1 Beiträge seit 2005
vor 18 Jahren

Nicht schlecht Dein Tutorial, zwar behandelt es bisher nur Basics, aber Layout, Stil und Inhalt sind echt klasse. Hoffentlich machst Du noch weiter...

Gruß

Condor

B
57 Beiträge seit 2004
vor 18 Jahren

Cool. Da ich mich auch bald damit beschäftigen muss / will (wenn ich erstmal Skinned-Meshs vernünftig am Laufen habe), kommt mir das sehr gelegen. 😉 Sieht auch schonmal nicht schlecht aus.

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Danke. Ich hatte eigentlich vor weiterzumachen, wenn wirklich Interesse vorhanden ist. Allerdings machen mir die Quadtrees im Moment etwas zu schaffen, d.h. es dauert wahrscheinlich noch ein paar Tage bis zum dritten Teil. Wenn jemand gute Links zu dem Thema kennt, soll er sie doch bitte hier posten.

Und wenn ich schon mal dabei bin: Hat jemand eine gute Idee, wie man einen Framecounter integriert? Ich habe schon versucht, diesen mit einem Timer zu realisieren, aber den will das Programm nicht schlucken, bzw. das Tick-Event feuert nicht???

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

K
355 Beiträge seit 2004
vor 18 Jahren

Hallo

Sieht schonmal sehr gut aus das ganze. Weiter so 🙂

Wegen nem Framecounter kann ich dir vielleicht weiterhelfen, hatte sowas schonmal drin bei einem Testproggie von mir, muss mal suchen ob ich das Progg noch habe. Musste inzwischen mal formatieren, deswegen weiß ich nicht ob ichs noch habe 😁

Eventuell hilft dir auch dieser Thread weiter, so ähnlich hatte ich es auch realisiert:
Einige Fragen

1.549 Beiträge seit 2004
vor 18 Jahren

so wie ich das sehe ist dein Problem wenn der Timer nicht feuert das das er nicht inizirt ist (jedenfals war das heute so bei mir als ich das Gleie Problem hate) 😁

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Was meinst du damit?

...das der Timer nicht inizirt ist...

Ich habe den Timer erstellt, den EventHandler angemeldet, Timer.Enabled = true und Timer.Start(). Manche von euch werden jetzt sicher denken: Der hat den EventHandler nicht richtig angemeldet, der Depp 🙂. Aber dazu kann ich nur sagen: Auch wenns der Form-Designer erstellt, funktionierts nicht! Keine Ahnung, obs da irgendeinen Konflikt mit DirectX gibt. Wenn ich das Ganze 1:1 in einer normalen Windows-Anwendung programmiere, funktionierts tadellos.

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

1.549 Beiträge seit 2004
vor 18 Jahren

Wie gesagt hatte ich das gleiche Problem und habe es gelöst indem ich den vom Form-Designer erzeugen Code auch aufgerufen habe wenn dieser im Konstrucktor nämlich nicht ausgeführt wird wird ein Event auch nicht ausgelöst

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hallo zusammen

Teil III ist da. Themen sind Texturing und Skybox. Zusätzlich zur PDF-Datei findet ihr im Anhang auch das Programm ProTEX. Ich denke, aus dem Tutorial sollte die Funktion und Bedienung des Programms eigentlich hervorgehen. Sonst einfach E-Mail oder direkt ins Forum.

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

... und hier noch die Projektmappe (passte leider nicht in die 200kB). Ausserdem musste ich die .exe und die Procedural Texture rausstreichen. Aber die .exe wird ja beim Compilieren des Projekts aus der Projektmappe automatisch wieder erstellt und die Procedural Texture könnt ihr mithilfe von ProTEX selber erstellen (die dafür erforderlichen Texturen sind im Debug-Ordner gespeichert).

Wer selber Skybox-Texturen erstellen möchte, macht dies am besten mit Terragen https://193.5.168.9/servlet/webacc?merge=linkurl&Url.linkText=http%3a%2f%2fwww%2eplanetside%2eco%2euk%2fterragen%2f.
Tutorials dazu findet man mit Google zuhauf.

Alle anderen laden die Skyboxen von https://193.5.168.9/servlet/webacc?merge=linkurl&Url.linkText=http%3a%2f%2fwww%2escentednectar%2ecom%2fskyboxes%2f herunter. Viel Spass

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hier http://www.vb3d.com/Textures.html gibt es einige gute Texturarchive zum herunterladen (z.T. 512x512).

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

12 Beiträge seit 2005
vor 18 Jahren

Hallo zusammen

Das Terrain Rendering Tutorial sieht ja schonmal ganz gut aus!
Allerdings würde ich viele Dinge anders machen.
Ein Framecounter lässt sich z.B. viel einfacher so realisieren als mit einem Timer:

private int FPSCount;
private int LastFPSCheck;

private void refreshFPS()
{
if (LastFPSCheck+1000 < Environment.TickCount)
{
this.Text = FPSCount.ToString() + " fps"; //Ausgabe in der Titelleiste
FPSCount =0;
LastFPSCheck = Environment.TickCount;
}
FPSCount++;
}

Ich arbeite gerade selber an einem Projekt um Landschaften zu rendern.
Im Anhang ist ein Bild von dem jetztigen Stand. Die Performance lässt leider noch etwas zu wünschen übrig, aber daran arbeite ich gerade.

mfg Lenne 😁

B
122 Beiträge seit 2004
vor 18 Jahren

Hallo,

Ich würde gerne große Landschaften unter Wasser darstellen.

Hat da wer eine Idee?

MFG

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hallo

Danke für den Framecounter-Code, daran habe ich gar nicht gedacht, ist wirklich das Einfachste. Und ich kann's nur noch mal wiederholen: Wenn jemand Verbesserungs- und / oder Erweiterungsvorschläge hat, soll er die bitte hier veröffentlichen.

@Lenne: So wie dein Terrain aussieht, gehe ich mal davon aus, dass du noch den einen oder anderen Tipp auf Lager hast. Ist schon ein Algorithmus zur Geschwindigkeitsoptimierung der Triangulation (Quadtree, Geomipmapping o.ä.) eingebaut? Würde mich brennend interessieren... 🙂

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Zu den Unterwasserlandschaften: Würde ich persönlich grundsätzlich gleich machen wie bei Überwasserlandschaften. Da man allerdings unter Wasser nicht so weit sieht, könntest du z.B. bläulichen Nebel verwenden. Oder du zeichnest eine fast transparente Textur vor die Kamera, welche die ganze Landschaft etwas verschwommen wirken lässt. Diese könntest du dann auch animieren (Luftblasen etc.). Ich weiss schon, ist nicht sehr konkret, aber vielleicht bringts dich selber noch auf eine Idee.

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

12 Beiträge seit 2005
vor 18 Jahren

Hallo

Am Geomipmapping arbeite ich gerade.
Um die Landschaft realistischer aussehen zu lassen musst du zum einen deine Landschaft texturieren und zum anderen Licht verwenden. Dafür eignet sich am besten der Lichttyp "directional" als Sonnelicht und ein ambientes Licht, welches selbstverständlich dunkler als das Sonnenlicht sein muss. Des weiteren muss man die Normalvektoren der Vertices berechnen. Durch das Licht entsteht so eine gewisse Plastizität der Landschaft.

Um die Performance zu verbessern habe ich noch den "PrimitiveType" "TriangleStrip" verwendet anstatt "TriangleList".

mfg Lenne

B
122 Beiträge seit 2004
vor 18 Jahren

Hallo,

Könntest du mir den Code mal zeigen? =) Bitte 🙂

Wie groß könne die Landschaften werden?

MFG

12 Beiträge seit 2005
vor 18 Jahren

Hallo

Hier ist der Quellcode!
Allerdings fehlt eine Heightmap und eine Colormap in dem Ordner terrain1 ohne die das Programm nicht läuft. Mit denen wäre die ZIP-File zu groß geworden.

Im Moment lassen sich nochnicht so große Landschaften machen, da noch keine Quadtrees oder Geomipmapping eingebaut ist.

Lenne

12 Beiträge seit 2005
vor 18 Jahren

Hier noch eine kleine Heightmap!

12 Beiträge seit 2005
vor 18 Jahren

Und eine Colormap, welche aber nicht besonders detailiert ist!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

So, hier wäre noch der vierte Teil des Tutorials. Ich werde die nächsten acht Wochen im Dienst für Volk und Vaterland verbringen, deshalb wird es mir in dieser Zeit nicht möglich sein, an dem Tutorial weiter zu schreiben. Danach werde ich selbstverständlich weitermachen, wenn dies erwünscht ist.

Zum aktuellen Teil: Wie schon ProTEX ist LighTEX sicher noch nicht ganz ausgereift (habe die Zeit zum Testen einfach noch nicht gefunden), deshalb Fehler unbedingt melden. Die Projektmappe ist dieselbe wie in Teil III, also werde ich diese nicht nochmal uploaden.

Kleiner Tip zum erweitern der Anwendung in der Tutorialfreien Zeit:
Hier Multitexturing (Textur Koordinaten) findet ihr eine Anleitung dazu, einem Vertex mehrere Texturkoordinaten zuzuweisen. Da ganze könnte dann so integriert werden:

  1. Texturschicht: Grundfarbe (Procedural Map)
  2. Texturschicht: Lightmap (gleiche Koordinaten wie die erste Texturschicht)
  3. Texturschicht: Detailstruktur

Wenn man die Lightmap auf diese Weise integriert, sollte man sie auch separat abspeichern und nicht vorher schon mit der Procedural Map kombinieren. Das wäre nicht der Sinn von mehreren Texturschichten.

Die Texturkoordinaten der Detailstruktur sollten so gewählt werden, dass die Textur immer nur auf eines der Quadrate (Zwei Dreiecke) aufgetragen wird (Textur kacheln). Somit reicht eine kleine Textur um eine sehr detaillierte Landschaft zu simulieren. Ausserdem kann man dann ohne grosse Qualitätseinbussen auch die Auflösung der Procedural Map noch reduzieren.

Und nun viel Spass beim Ausprobieren und bis in acht Wochen

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

D
84 Beiträge seit 2005
vor 18 Jahren

Hi hab mal ne frage wo bekommt ihr denn die Heightmaps her macht ihr die selber oder gibts da ein programm oder ne website?

Warte auf antwort Dark Matter

A
26 Beiträge seit 2005
vor 18 Jahren

Also normalerweise zeichnet man die einfach selbst.
Aber man kann natürlich auch Sachen wie Terragen benutzen, obwohl das schon massiver Overkill wäre so ein Programm nur zur Gewinnung einer Heightmap einzusetzen... 😁

B
122 Beiträge seit 2004
vor 18 Jahren

Hallo,

habt ihr den beispiele wo Geomipmapping in c# implementiert wurde?

MF

A
196 Beiträge seit 2005
vor 18 Jahren

Ich habe mir mal deine Beispielprogramme angesehen und habe mir die Frage gestellt ob es mit Hilfe deines Tutorials möglich ist größe Dinge zu machen.Ich meine damit zB eine Strasse in 3D.
Ich habe ein Bild in dem in der Mitte die Strasse ist und rechts bzw. links Häuser sind.Ich könnte das Bild doch mit Hilfe von DirectX in 3D darstellen so das man denke man wäre in einer Strasse.Sowas ist doch mit deinem Thema auch gemeint?!

Ich hoffe du verstehst was ich meine 🤔

1.549 Beiträge seit 2004
vor 18 Jahren

Also wenn du nur ein Bild und sonst nichts hast dann hast du ein Problem. Den du weist ja nicht wie groß z.B ein Haus ist. Wenn du aber irgendeine Größe aus dem Bild kennst kannst du die Größe der anderen Objekte bestimmen wenn du diese dann hast kannst du die Strasse aus Polygonen zusammenbauen und die Grafik Alls Textur drauflegen. Bevor du jetzt aber denkst das das einfach ist vergiss es. Denn: das ausrechen der Größen der einzelnen Objekt nimmt dir keiner ab und das zuschneiden und entsprechende verzerren zu einer passenden Textur ist auch nicht ohne

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

A
196 Beiträge seit 2005
vor 18 Jahren

Kennst du eine Anleitung dazu?

1.549 Beiträge seit 2004
vor 18 Jahren

Nein leider nicht aber das ausrechen der längen ist normale schul Mathe.

Aber bevor du anfängst will ich eins vorweg schicken. Ich glaub die UNI Zürich war’s haben ein Fahrt durch eine Straße mit einem Fahrrad simuliert um die Strasse immerhin halbwegs realistisch hinzubekommen haben die wenn ich mich nicht irre ein Halbes Jahr gebraucht

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo alf468,

zum Thema 3D-Stadtmodelle gab es gerade einen interessanten Artikel in der c't:

  1. Dr. Claus Brenner, Dr. Thomas H. Kolbe (dwi)
    Neue Perspektiven
    Wie 3D-Stadtmodelle erstellt und verwendet werden
    Report,3D-Stadtmodelle,Stadtplanung, GIS, 3D Modelle, Geografische Information, Tachymeter, Laserscanner, Photogrammetrie, Level of Detail, LOD, Architektur
    c't 15/05, Seite 106

Was da beschrienen wird, ist allerdings nichts für Hobbyisten.

Wenn du nur ganz wenige Nachbarhäuser machen willst, kriegst du das vielleicht noch hin. Allerdings brauchst du für die Texturen dann Frontalfotos von den Häusern, denn diese werden ja flach auf die Polygone "geklebt". Die räumliche Tiefe (quasi die Fluchtpunktperspektive, die jetzt auf dem Foto ist) wird dann ja gerade erst von DirectX errechnet.

herbivore

A
196 Beiträge seit 2005
vor 18 Jahren

Es würde mir ja reichen wenn die Häuser einfach nur hochgeklappt werden.
Man sieht dann nacher halt nur die Frontansicht mehr will ich ja gar nicht.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo alf468,

ich verstehe leider nicht, was du meinst. Kannst du das vielleicht nochmal etwas genauer schreiben? Insbesondere macht man doch ein 3D-Modell, damit man nachher mehr als eine Ansichten betrachten kann.

herbivore

A
196 Beiträge seit 2005
vor 18 Jahren

Ich habe eben mit Paint was gezeichnet (also nicht lachen )

Edit gfoidl, 04.11.2022: das Bild gibt es nicht mehr, daher sind auch in [Hinweis] Wie poste ich richtig? externe Filehoster ausgeschlossen.

Das ist normale Bild von der Strasse 😁 . Wenn man nun auf der Strasse steht so sollen die Häuser nicht flach da liegen sondern sie sollen stehen.Also wie ein richtiges Haus.

Ich hoffe ihr versteht mich jetzt X(

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo alf468,

dein Bild ist schon ok! Aber du hast doch niemals sowas als Foto. Außerdem würde man ja nicht eine ganze Häuserreihe "hochklappen", sondern jedes Haus wäre vermutlich ein Polygon-Objekt, das man mit "seiner" textur "bekleben" muss.

herbivore

A
196 Beiträge seit 2005
vor 18 Jahren

Aber ich möchte es so machen 😉
Ich will einfach nur mal was testen und dazu reicht es die ganze Häuserreihe hochzuklappen

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo alf468,

ok, wenn die Häuser eine einheitliche Baufluchtlinie einhalten und einigermaßen gleich hoch sind, mag das vielleicht gehen.

Ich habe ein Bild in dem in der Mitte die Strasse ist und rechts bzw. links Häuser sind.

Das stelle ich mir aber nicht so vor, wie du gezeichnet hast. Ich würde mir das so vorstellen:

Und so ein Bild ist wie gesagt nicht geeignet, weil es die perspektivischen Verzerrungen schon enthält (die Häuser werden nach hinten hin kleiner, Unter- und Oberkante laufen nicht parallel). Wenn du nun aber eine Straßenseite frontal fotografierst (tendentiell mit Weitwinkel, um überhaupt was drauf zu bekommen, hast du wieder Verzerrungen (das Haus in der Mitte ist am größten und die Häuser werden zu den Rändern kleiner). Daher denke ich eigentlich weiterhin, dass man maximal ein Haus auf ein Foto bekommt, so dass die Verzerrungen noch vertretbar bzw. korrigierbar bleiben. So in etwa:

HTH

herbivore

A
196 Beiträge seit 2005
vor 18 Jahren

Und wie mag das gehen??

PS:schönes Haus 😁

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo alf468,

sorry, ich kenn nur ein bisschen die theoretischen Grundlagen von 3d-Modellen. Praktische Erfahrung mit DirectX habe ich keine. Aber ich denke, dass das gerade in dem Tutorial stehen müsste. Du musst ja "nur" die praktische Umsetzung für meine theoretische Beschreibung finden. Wenn das nicht hilft, müssen andere ran.

herbivore

I
256 Beiträge seit 2005
vor 18 Jahren

Hallo!

In dem Thread stehen paar Zeilen Code, die man gut verwenden kann um Heightmaps zu erzeugen, für das Tutorial.
Scharz/Weiss Bitmap

lg Ifoko

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Kleiner Tipp: Mein Tutorialprogramm verwendet nur die Rot-Anteile der Heightmap für das Terrain. Was du mit den Blau- und Grün-Anteilen anstellst, ist dir überlassen. Damit lassen sich sehr viel mehr Informationen in einer Heightmap unterbringen (die Erstellung einer solchen Heightmap wird allerdings auch schwieriger) und es lassen sich zum Beispiel Höhlen realisieren. In deinem Fall könntest du den Blau-Anteil zur Bestimmung der Art des Hauses (Blockhaus, Villa etc.) und den Grün-Anteil zur Ausrichtung des Hauses verwenden.

mfg Hitman

PS: Das GeoMipMap-Tutorial ist in Arbeit. Dauert noch ein paar Tage 🙂

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hier kommt nach langer Zeit Teil V des Tutorials. Im Anhang befindet sich dieses Mal nur die pdf-Datei, die Projektmappe folgt mit Teil VI, welcher in Kürze fertiggestellt wird

mfg Hitman

Nachtrag: Es ist kein Geheimnis, dass die Texturkoordinaten zwischen 0 und 1 liegen, unabhängig von der Textur. Was aber vielleicht nicht alle wissen: Die Texturkoordinaten können auch grösser als 1 werden, dann wird die entsprechende Textur einfach gekachelt. So wird dies auch in meinem Programm mit der Strukturmap gehandhabt. Wir können also eine viel tiefer aufgelöste Textur verwenden als die Proceduralmap, um eben dieser eine Detailstruktur zu verpassen (Diese muss allerdings kachelbar sein, da sich sonst unschöne Kanten ergeben --> Terragen)

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Nun kommen wir zur Königsdisziplin: Teil VI Geomipmapping

Leider wird das Projekt langsam zu gross, um in die 200 KByte Upload zu passen. Also habe ich nur die zwei veränderten .cs-Files angehängt. Heightmap, Proceduralmap, Lightmap und Structurmap müsst ihr euch selber erstellen. Wenn's wider erwarten nicht funktioniert, schreibt mir ein Mail, dann schicke ich euch die benötigten Files.

Im nächsten Teil werden wir uns dann einen Heightmap - Generator programmieren, damit das lästige "Heightmap mit Google suchen" endlich ein Ende hat 🙂

mfg Hitman

Nachtrag: Das Tutorial wurde noch mal leicht überarbeitet. Die Triangulation der Stufen 0 und 3 wurden angepasst, ebenfalls einige Stilfehler korrigiert. Die aktuallisierten .cs Dateien und das .pdf findet ihr im Anhang. Ausserdem habe ich noch eine Aktuallisierung vorgenommen, welche nicht im Tutorial zu finden ist: Das Programm rendert jetzt alles mit Cull.Clockwise. Da heisst, wie müssen in der CreateIndices-Methode in der for-Schleife den zweiten und dritten sowie den fünften und sechsten Eintrag tauschen. Anschliessend noch die beiden Cullmode-Aufrufe in der DrawSkybox-Methode entfernen, dann sollte es funktionieren.

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hier noch das Original Paper zu GeoMipMapping

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Q
992 Beiträge seit 2005
vor 18 Jahren

Respekt wieviel arbeit Du Dir machst.
Wenn ich mal anfange mich für 3D Programmierung zu interessieren, dann wird das hier wohl einer meiner Anlaufpunkte sein.

Grüße Christoph

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Danke für das Lob. Ich versuche hier nur denjenigen, welche sich für das Thema interessieren den Einstieg zu erleichtern. Ich weiss aus eigener Erfahrung, wie schwierig das ist.

Hier noch eine gute Site für diejenigen unter euch, welche des Englischen mächtig sind: www.vterrain.org

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hallo

Hier ein Tutorial, welches sich mit der Erstellung von Heightmaps befasst. Ich hoffe, damit ist Dark Matter, und allen anderen, die nicht wissen, woher die Heightmaps nehmen, geholfen.

Die englischsprachigen Seiten, welche ich als Informationsquelle benutzt habe findet ihr hier:

www.lighthouse3d.com
www.robot-frog.com

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Und hier auch gleich noch das im Tutorial angekündigte Programm. Fehler und/oder Erweiterungsvorschläge unbedingt posten. Ich habe bis jetzt die Zeit für eine umgehende Fehleranalyse noch nicht gefunden 🙂

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

64 Beiträge seit 2005
vor 18 Jahren

Meine Grafikkarte unterstützt kein HardwareVertexProcessing. Immer wenn ich die Anwendung gestartet habe ist sie abgestürzt. Dann habe ich Von Hardware auf Software umgestellt, aber jetzt wird kein Gelände angezeigt.

Was kann ich tun?

::So long, Nekromanter

Hitman II Themenstarter:in
140 Beiträge seit 2004
vor 18 Jahren

Hallo

Leider musste ich feststellen, dass die GeoMipMaps nicht auf jedem System schneller laufen. Während ich beim System, auf welchem ich die ganze Geschichte programmiere rund 10 FPS herausholen konnte, lief das Programm auf einem anderen Rechner sogar langsamer. Also habe ich zuerst einmal die TerrainBlock Klasse in eine TerrainBlock-Struktur umgewandelt. Da die Indexbuffer ja in jedem TerrainBlock diesselben sind, brauchen wir diesen nur einmal zu speichern, was enorm Speicherplatz spart. Ausserdem brauchen auch die Klassen-Instanzen zuviel Platz. Zudem lassen sich die Nebenbereiche viel schneller im TriangleStrip rendern. Da aber auch diese Optimierungen nur eine relativ bescheidene Ausbeute ca. 5 FPS ergaben, bin ich ein bisschen ratlos. Obwohl wir fast 20mal weniger Dreiecke rendern, läuft das Programm nicht schneller! Jetzt meine Frage: Wie siehts bei euch aus? Wieviele FPS bringt das GeoMipMapping? Wenn's nämlich bei den meisten von euch so langsam läuft, befindet sich ein grundlegender Überlegungsfehler im Tutorial, den es zu korrigieren gilt.

@ Necromanter: Bin nicht ganz sicher, woran das liegen könnte. Werde das Problem mal unter die Lupe nehmen.

mfg Hitman

Es gibt Probleme, die kann man nicht lösen. Für alle anderen gibt es Visual C# .NET!

A
452 Beiträge seit 2005
vor 18 Jahren

so jetzt habe ich endlich mal urlaub und werde mich mal vorsichtig an dein tutorial heranwagen. ich bin schon gespannt was mich erwartet. zu deiner engine:

interesse meinerseits besteht schon, allerdings bin ich noch auf recht wackeligen beinen was das programmieren angeht. ich werde mir wie gesagt erstmal dein tutorial ansehen und sehen wie es bei mir wirkt und wie ich mich in diesen bereich einarbeite. wenn das bei mir gut läuft werde ich mich mal bei dir melden per pm oder so, vorausgesetzt dein angebot mit der engine steht noch 🙂

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]