General > German corner

Terrain Optimierung durch Dreiecksminimierung

(1/2) > >>

Lobby:
Wie in einem anderen Thread schon angemerkt arbeite ich zur Zeit etwas mit Terrains. Dabei kam mir die Frage, inwiefern ich das Ganze optimieren kann um möglichst wenige Dreiecke darstellen zu müssen. Ich habe in den zahlreichen Dokumentationen irgendwo gelesen, dass Dreiecke, die dies zulassen, automatisch zu weniger zusammengefasst werden. Stimmt das, und gilt das auch noch, wenn man im Nachhinein mit einem VertexController die Position von ein paar Vertexen manipuliert? (ich kann das Ganze nicht so recht glauben, weil damit ja eine ganze Menge Berechnungen verbunden wären)

Zu guter Letzt: Lohnt sich die Optimierung überhaupt? Konkret würde ich gerne dafür sorgen, dass Bereiche, die weiter von der Kamera entfernt sind, mit weniger Details dargestellt werden. Dies ist aber nur dann sinnvoll, wenn die Berechnungen für diese Optimierung mehr Zeit beim Rendern einsparen als sie selbst verbrauchen.

PS. Ich hätte mir auch gerne mal das Gerenderte als Wireframe anzeigen lassen um die Dreiecke sehen zu können, aber leider kommt beim Versuch mittels world.drawWireframe() eine Meldung, dass ein glPointSize() nicht implementiert sei (und dabei habe ich den pointMode-Parameter auf false gesetzt).

EgonOlsen:
Ich würde sagen, das lohnt sich eher nicht. Diese Ansätze zur dynamischen Geometrieanpassung stammen meistens aus einer Zeit, als die Grafikkarten noch nicht die Geometrieleistung hatten wie heute und als die Geometrie selber auch noch nicht im Speicher der Karte gehalten wurde. Wenn man in der Richtung was machen will, dann besser mittels diskreter Blöcke mit verschiedenen Detailgraden, die man dynamisch wechselt, aber nicht die Geometrie selber ständig umbauen.

Was die Fehler angeht: Ich glaube, das habe ich schon behoben. Probiert mal http://jpct.de/download/beta/jpct.jar.

Lobby:
Gut, wenn es sich geschwindigkeitstechnich ohnehin nicht lohnt hat sich das auch erledigt, danke.

Wegen drawWireframe, ich verwende jpct-ae ;) .

EgonOlsen:
Dann gilt derselbe Link, nur mit dem jpct-ae.jar hinten dran.

Lobby:
Sehr schön, damit kommt schon einmal keine Fehlermeldung mehr. Aber ich bin mir nicht sicher ob das so aussehen soll:

Das ist zweimal die gleiche Szene, oben ohne, unten mit Wireframe - offenbar werden da beim Quader ein paar Dreiecke nicht richtig eingezeichnet. Muss man bei der Objekterstellung vielleicht etwas Besonderes beachten? Ich habe hier die createBox-Methode der ExtendedPrimitives-Klasse verwendet, die ich dir per pn geschickt habe.

Navigation

[0] Message Index

[#] Next page

Go to full version