Ich mache gerade eine Methode, um in einer lauten Heightmap zu laden, aber die Dreiecke dazu fehlen. Ich möchte einen Algorithmus machen, der ein Bild, seine Breite und Höhe aufnimmt und daraus einen Geländeknoten konstruiert.Eine Methode zum Indizieren von Dreiecken aus einer geladenen Heightmap?
Hier ist, was ich bisher, pseudo in etwas
Vertex* vertices = new Vertices[image.width * image.height];
Index* indices; // How do I judge how many indices I will have?
float scaleX = 1/image.width;
float scaleY = 1/image.height;
float currentYScale = 0;
for(int y = 0; y < image.height; ++y) {
float currentXScale = 0;
for (int x = 0; x < image.width; ++x) {
Vertex* v = vertices[x * y];
v.x = currentXScale;
v.y = currentYScale;
v.z = image[x,y];
currentXScale += scaleX;
}
currentYScale += scaleY;
}
Das auf meine Bedürfnisse gut genug funktioniert, mein einziges Problem ist folgendes: Wie würde ich die Anzahl der Indizes und ihre Positionen zum Zeichnen der Dreiecke berechnen ? Ich bin mit Indizes etwas vertraut, aber nicht wie man sie programmatisch berechnet, ich kann das nur statisch machen.
Mann, ich muss wirklich mein Spiel steigern. Ich hätte nie darüber nachgedacht. Danke Kumpel, das ist was ich brauchte. – DubyaDubyaDubyaDot
Hat jemand versucht, Normale hinzuzufügen? Ich kann nicht scheinen, sie richtig zu machen – TiagoLing