Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 02.05.2008, 09:01 Titel: terrain Darstellung |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 02.05.2008, 09:54 Titel: |
|
|
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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 02.05.2008, 10:24 Titel: |
|
|
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 |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 02.05.2008, 11:29 Titel: |
|
|
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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 02.05.2008, 11:48 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 02.05.2008, 12:32 Titel: |
|
|
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? 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 |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 02.05.2008, 12:34 Titel: |
|
|
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 |
|
|
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 02.05.2008, 13:04 Titel: |
|
|
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 |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 02.05.2008, 13:51 Titel: |
|
|
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 |
|
|
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 02.05.2008, 14:25 Titel: |
|
|
Bei Marching Cubes hast du im Endeffekt auch nur ein einfaches Mesh. Du hast keine der Problematiken die volumetrisches Rendern aufwerfen. |
|
Nach oben |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 02.05.2008, 21:17 Titel: |
|
|
Alles klar, habe mich grade noch etwas näher informiert, allerdings glaube ich, dass ich sowas komplexes noch nicht zu stande kriege^^
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 |
|
|
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 02.05.2008, 22:16 Titel: |
|
|
Hat auch nichts direkt mit deiner Frage zu tun und ist außerdem äußerst dünn dokumentiert. |
|
Nach oben |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 03.05.2008, 08:51 Titel: |
|
|
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 |
|
|
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 03.05.2008, 09:40 Titel: |
|
|
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! |
|
Nach oben |
|
|
RebornX JLI'ler
Anmeldedatum: 16.03.2007 Beiträge: 169
Medaillen: Keine
|
Verfasst am: 03.05.2008, 10:06 Titel: |
|
|
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 |
|
|
|