JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=f0c753ecf5f2d19332dc70236a09da09Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Landschaftsrendering

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 08.03.2003, 12:41    Titel: Landschaftsrendering Antworten mit Zitat

Ich Programmiere mit VC++6 in DirectX9 und habe folgendes Problem:

Wie kann ich meine Daten in die Form bringen das ich mit den Daten Landschaften ähnlich Morrowinds erstellen und rendern kann (ich meine die Texturüberläufe, alles andere geht bei mir)

Danke im Voraus.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 10.03.2003, 15:09    Titel: Antworten mit Zitat

Erköär mal welche klassen du für dein Terrain hast und welche Funktion die haben und wie der Rendervorgang von statten geht, ich denke ich kann dir da helfen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 14.03.2003, 20:06    Titel: Antworten mit Zitat

Ich habe bis jetzt nur mit einer Struktur gearbeitet. Und die ganzen Aufgaben wurden in einer anderen Routine benutzt. Zum Zeichnen mit der simplen Funktion DrawPrimitive. Die Struktur enthält unter anderen die Anzahl der Vertexe die Vertexe(Normale,Koordinaten und 3 Texturkoordinatensets) dann die Position der Landschaft die benutzten Texturen. Ich will es aber jetzt in Klassen umschreiben und es so machen das geniale Texturvermischungen zu stande kommen. Ich glaube das hat etwas mit Multitexturing zu tun weiss aber nicht wie ich es machen soll und mit Pixelshader will ich für so etwas blödes nicht unbedingt verwenden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 15.03.2003, 10:23    Titel: Antworten mit Zitat

Acha, du hast einen Mega-Vertexbuffer für das gesamte Terrain? Also ich denke das du das mit den Texturen per Texturblending realisieren kannst.

Du machst z.B. 2 Erdschichten: Eine normale Grasebene und eine Weit oben fürs Gebirge. Jede dieser Schichten hat nun min. 2 Texturen eine "Normale" Textur und eine Steigungs textur. Wenn du jetzt gucken willst, welche Textur ein Triangle hat, dann musst du kucken in welche Erdschicht es aufgrund seiner Höhe fällt, und musst dann über dessen Steigung einen transparent wert errechnen, mit dem du dann die Steigungstextur auf die Normale Textur blendest. je höher die Steigung, desto höher der Transparent wert. Du müsstest dann pro Transparenzwert und Erdschicht einen Indexbuffer der Triangles machen, denke ich.

Das sieht aber unter Umständen ein bissl beschissen aus.

Du könntest auch einen Anderen Weg nehmen:
Du hast pro Erdschicht mehrere Texturen:
- Normale Textur
- Steigungs Textur
- Übergang Steigung - Normal
- Übergang Normal - Steigung

Dann natürlich noch eine für den Übergang von Schicht 1 zu 2.

Du musst dann nur gucken, in welcher Schicht das Dreieck liegt, und welchen Steigungswert das Dreieck hat. Ab einem Bestimmten schwellenwert hat es dann entweder die normale- oder die Steigungs- oder eine der Übergangstexturen. Dann musst du natürlich wieder Indexbuffer anlegen...


Hoffe du hasst einigermaßen verstanden was ich gemeint hab und hoff auch das es dir weitergeholfen hat Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 15.03.2003, 15:44    Titel: Antworten mit Zitat

Verstanden habe ich das schon aber ich glaube das ich da probleme mit dem Speicher bekommen könnte (der Heap war bei mir bei grossen Landschaften schon öfters voll).

Geht das auch mit nur einer einzigen Erdschicht ? 2 wären aufgrund von speicherproblemen schwierig zu realisieren. Oder kennst du eine andere Möglichkeit speicher bereit zu stellen (momentan nutze ich für die Terrainstrukturen den malloc Befehl).

Trotzdem danke werd ich mal probieren wenn ich mal wieder Zeit habe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 15.03.2003, 17:42    Titel: Antworten mit Zitat

Du wirst doch nicht deine ganze Landschaft im Speicher haben??? Also das würd ich auf keinen Fall so machen. Ich würd immer nur nen Teil der Landschaft in dem Speicher laden... überleg dir das mal Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 15.03.2003, 21:22    Titel: Antworten mit Zitat

Es ist ja auch eigentlich nur ein kleiner Ausschnitt. Es kommt eben nur drauf an wie gross die Landschaft ist. Ich habe die grösse schon erträglich verringert weil ich sonst selbst den kleinsten maulwurfshügel angezeigt hätte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
kaepteniglo
Mini JLI'ler



Anmeldedatum: 17.03.2003
Beiträge: 1

Medaillen: Keine

BeitragVerfasst am: 19.03.2003, 09:40    Titel: Antworten mit Zitat

Er vergaß zu sagen das er Texturen überall anzeigen und vermischen möchte zum Beispiel als Sand, Gras oder Strassen und nicht nur um die Höhenstufen wie Berge und Flachland vermischen zu lassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.03.2003, 17:55    Titel: Antworten mit Zitat

Genau so meine ich das.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 24.03.2003, 19:15    Titel: Antworten mit Zitat

Also es geht um das Rendern EINES Vertexbuffers mit MEHREREN Texturen??? Für jede Textur nen Indexbuffer. dann durch die Texturen loopen, Textur i setzen, den Vertexbuffer mit dem Indexbuffer i rendern...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 28.03.2003, 17:58    Titel: Antworten mit Zitat

Ich hab die Lösung schon gefunden und es ging auch ohne eine loop sondern mit einem TextureStatement der den Alphawert des Vertexes ausnutzt. Sieht nun schon ziemlich geil aus bei 50*50 Vertexpunkten. Nach dem Optimieren hatte ich sogar eine unglaubliche Leistungssteigerung von 500%. Mit deiner Methode beim loopen (sowas ähnliches hab ich auch mal versucht) hatte ich gerade mal 11 FPS (keine gute GraKa im Laptop).

Kann ja mal bei gelegenheit ein Screenshot zeigen.

Nun will ich der Landschaft einen Vertexbuffer für Gras verpassen, mal sehen was wird.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum