JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

terrain Darstellung
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 09:01    Titel: terrain Darstellung Antworten mit Zitat

Hi,

welche Möglichkeiten gibt es in Direct3D terrain darzustellen??
Ich kenne nur die von Buch vorgestellte Methode mithilfe von Highmaps.
Aber welche Methoden gibt es noch ?
Und was sind derren Vor- und Nachteile ?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 09:54    Titel: Antworten mit Zitat

Wenn du eine Heightmap hast, kannst du keine Überhänge darstellen.

Eine andere Möglichkeit sind einfach nur große Meshes oder eine Mischung von beidem. Was passender ist kommt immer auf den Anwendungsfall an. Gothic benutzt z.b. vormodellierte Meshes, weil die Terrains sehr komplex sind. Dafür sind die Files auch entsprechend größer und deren Erstellung ist viel aufwändiger.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 10:24    Titel: Antworten mit Zitat

Du kannst weder mit DirectX noch mit OpenGL ein Terrin rendern. Du renderst immer nur Dreiecke.
Ein Mesh ist nichts weiter als ein Haufen Dreiecke, und aus einer Heighmap berechnest du auch nichts weiter als einen Haufen Dreiecke.

Der Vorteil einer Heighmap, bzw. eines aus einer Heightmap generierten Meshs, liegt darin, dass du sehr einfach die Höhe aller Objekte bestimmen kannst.


Für komplexere Terrains wirst du aber dann 2 Dinge wollen: Verringerung der Dreiecksanzahl durch LOD Stufen, nennt sich auch Geomipmapping, und eine schöne Texturierung. Das wird quasi immer Multitexturing sein, für raffinierte Sachen direkt in einem Pixelshader. Hier gibt es wieder zig möglichkeiten, eine sehr einfache wäre eine große, Textur auf die gesammte Ebene aufzuspannen und eine zweite, sehr oft zu wiederhohlen. Durch Kombination dieser 2 Texturen (die oft wiederhohlte nennt man auch Detailmap) sieht man weder, dass die Textur wiederhohlt wurde (weil die große ja überall anders ist), noch dass die Textur eine geringe Auflösung hat (weil ein Terrain normalerweise zu groß ist um sie nur mit einer Textur zu belegen, die dann überall scharf ist).
Zu beiden Dingen sollte es sehr viele Artikel, irgendwo in den weiten des Netzes geben.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 11:29    Titel: Antworten mit Zitat

Oh man ich seh schon.... Das ist wieder eine eigene Mathematik^^
Gibt es den Buch dazu?
Bzw. Kennt einer ein weiterführendes Buch zum JLI-Buch?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 11:48    Titel: Antworten mit Zitat

Ich glabue es gibt genügend Artiekl dazu, ein Buch muss man nicht unbedingt kaufen.
http://www.vterrain.org/
Da sind ein ppar Artikel zum Thema Terrain Rendering. Ansonsten solltest du einfach mal suchen, z.B. nach Stichworten die hier genannt wurden oder nach welchen die du auf anderen Seiten findest.

http://www.gamedev.net/reference/

Auch ne Menge guter Artikel.
_________________
https://jonathank.de/games/
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: 02.05.2008, 12:32    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
[...]Das wird quasi immer Multitexturing sein, für raffinierte Sachen direkt in einem Pixelshader. Hier gibt es wieder zig möglichkeiten, eine sehr einfache wäre eine große, Textur auf die gesammte Ebene aufzuspannen und eine zweite, sehr oft zu wiederhohlen. Durch Kombination dieser 2 Texturen (die oft wiederhohlte nennt man auch Detailmap) sieht man weder, dass die Textur wiederhohlt wurde (weil die große ja überall anders ist), noch dass die Textur eine geringe Auflösung hat (weil ein Terrain normalerweise zu groß ist um sie nur mit einer Textur zu belegen, die dann überall scharf ist).
Zu beiden Dingen sollte es sehr viele Artikel, irgendwo in den weiten des Netzes geben.


Du weisst schon das wir das Jahr 2008 schreiben he? Wink Schau dir dazu entweder die Megatexturetechnik von Carmack an (halte diese aber nur für bedingt sinnvoll) oder die weit verbreitetere Textusplatting Methode.

Ansonsten neben Heightmaps und fertigen Meshs gibt es noch die möglichkeit sich aus Volumendaten ein Terrain zu erstellen, wenn ich mich nicht täusche nutzt das Crysis, dabei hast du den Vorteil das du auch Höhlen, etc erstellen kannst, Nachteile hat diese Methode natürlich auch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 12:34    Titel: Antworten mit Zitat

Hmm nagut dann hohl ich mir kein neues buch.

Jonathan_Klein hat Folgendes geschrieben:

Für komplexere Terrains wirst du aber dann 2 Dinge wollen: Verringerung der Dreiecksanzahl durch LOD Stufen, nennt sich auch Geomipmapping, und eine schöne Texturierung. Das wird quasi immer Multitexturing sein, für raffinierte Sachen direkt in einem Pixelshader. Hier gibt es wieder zig möglichkeiten, eine sehr einfache wäre eine große, Textur auf die gesammte Ebene aufzuspannen und eine zweite, sehr oft zu wiederhohlen. Durch Kombination dieser 2 Texturen (die oft wiederhohlte nennt man auch Detailmap) sieht man weder, dass die Textur wiederhohlt wurde (weil die große ja überall anders ist), noch dass die Textur eine geringe Auflösung hat (weil ein Terrain normalerweise zu groß ist um sie nur mit einer Textur zu belegen, die dann überall scharf ist).
Zu beiden Dingen sollte es sehr viele Artikel, irgendwo in den weiten des Netzes geben.


Habe ich das so richtig verstanden?:
Schubild
Außerdem muss beim geomapping noch darauf geachtet werden, dass bei ebenen Flächen große Dreiecke verwendet werden anstatt viele kleine Dreiecke.

Bin ich auf der richtigen Spur?

edit:/
Was ist das Prinzip von Megatexture? Ich habe nach Carmack und Megatexture gegooglet aba ich find da nixx passendes.
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 13:04    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Du kannst weder mit DirectX noch mit OpenGL ein Terrin rendern. Du renderst immer nur Dreiecke.
Ein Mesh ist nichts weiter als ein Haufen Dreiecke, und aus einer Heighmap berechnest du auch nichts weiter als einen Haufen Dreiecke.


Unterm Strich: Man kann mit DirectX und OpenGL Meshes rendern...

@Poster:
Eine Technik, die immer mehr in Mode kommt, sind Voxelterrains. Du kannst dich hierzu mal über 'Marching Cubes' schlau machen. Der Algorithmus erlaubt u.A. auch Überhänge und Aushöhlungen in der Umgebung.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 13:51    Titel: Antworten mit Zitat

David hat Folgendes geschrieben:

@Poster:
Eine Technik, die immer mehr in Mode kommt, sind Voxelterrains. Du kannst dich hierzu mal über 'Marching Cubes' schlau machen. Der Algorithmus erlaubt u.A. auch Überhänge und Aushöhlungen in der Umgebung.


Zitat:
Zwar hat die Volumengrafik in der Zwischenzeit Fortschritte gemacht und durch 3D-Texturen Eingang in die Computergrafik-Praxis gefunden, jedoch gibt es bisher keine Hardware, die die Volumengrafik auf ähnliche Weise beschleunigt, wie dies Grafikprozessoren mit polygonalen Dreiecken tun.
Quelle


Trifft diese behauptung immernoch zu?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 14:25    Titel: Antworten mit Zitat

Bei Marching Cubes hast du im Endeffekt auch nur ein einfaches Mesh. Du hast keine der Problematiken die volumetrisches Rendern aufwerfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 21:17    Titel: Antworten mit Zitat

Alles klar, habe mich grade noch etwas näher informiert, allerdings glaube ich, dass ich sowas komplexes noch nicht zu stande kriege^^ Laughing

Was ist denn nun das Prinzip von Megatexture? Ich habe nach Carmack und Megatexture gegooglet aba ich find da nixx passendes.
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 02.05.2008, 22:16    Titel: Antworten mit Zitat

Hat auch nichts direkt mit deiner Frage zu tun und ist außerdem äußerst dünn dokumentiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 03.05.2008, 08:51    Titel: Antworten mit Zitat

Wie das hat nichts mit meiner Frage zu tun?
fallen hat doch gesagt ich soll danach googlen:
Fallen hat Folgendes geschrieben:

Schau dir dazu entweder die Megatexturetechnik von Carmack an (halte diese aber nur für bedingt sinnvoll) oder die weit verbreitetere Textusplatting Methode.

_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

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

Indirekt hat es schon was damit zu tun. Aber zum einen deckt das Thema weitaus mehr ab als _nur_ das erzeugen der Geometrie und zum anderen ist es fraglich ob du genug Informationen findest um sowas selbst zu implementieren. Außerdem: wenn du schon an Marching Cubes scheiterst, dann ganz gewiss auch an Megatexturen! Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 03.05.2008, 10:06    Titel: Antworten mit Zitat

omg...

naja was sind den so die "einfachsten" LOD-Algorithmen und Geomipmapping-methoden???
Weil ich bin ja neu in dem gebiet und möchte halt möglichst klein anfangen^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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