Hi Loite, ;-)
in allen Dokus und Büchern, die ich bis jetzt überfliegen konnte, ist bei der Terrain-Höhenermittlung immer die Rede vom Strahl-schneidet-Dreieckstest, wenn es darum geht, zu ermitteln, auf welchem Quad sich der Spieler gerade befindet, um dann das betreffende Dreieck und damit auch die Spieler/Kamera-Höhe zu ermitteln.
Dazu wird ein Vertex-, ein Indexbuffer, die Dreiecke und die Quads noch mal extra gespeichert.
Für die Ermittlung des Quads ist ne einfache Multiplikation notwendig und dann für die Ermittlung des Dreiecks eben der StraheSchneidetDreieckstest.
Dazu kommt noch der Sichtbarkeitstest, welche Quads sich hinter der Kamera oder außerhalb des view frustums befinden.
Geht es nicht schneller, alle Dreiecke des Terrains an die RenderPipeline zu schicken und das Dreieck, auf dem der Spieler steht und damit die Spielerposition/Höhe mit der DX-Funktion D3DXIntersect zu ermitteln?
Dann müssen die Dreiecke nicht extra gespeichert werden.
Mir erscheint diese Funktion und der Rendervorgang des gesamten Terrains so rasend schnell, dass ich nicht weiß, was sinnvoll ist.
Offen gesagt habe ich nicht die Möglichkeit, alles so genau auszutesten...
Habt Ihr da Vergleichsgrößen?
Würde jemand von den reinen DirectX-Funktionen abraten oder vom Zeichnen des gesamten Terrains?
Danke nochmal.