Haben Sie Probleme Mit C DirectX Terrain?
January 28, 2022Hier sind einige unterhaltsame Methoden, die Ihnen dabei helfen, das C DirectX-Terrain-Problem zweifellos zu lösen.
Empfohlen: Fortect
Lektion 1. Raster und Kamerabewegung |
Lektion 2. Heightmaps |
Lektion oder vielleicht mehr: Beleuchtung des Bereichs |
Lektion 4. Strukturieren eines neuen Reliefs |
Lektion 7. Quad-Bäume |
Lektion 6. Bewegung basierend auf Tonhöhe |
Lektion 7: Lesbarkeit mit Farbabgleich datatable=”0″> Erde | |
Lektion 8. Minikarten Lektion 9. Reliefverschmelzung Sind Sie es leid, dass Ihr Computer langsam läuft? Ist es voller Viren und Malware? Fürchte dich nicht, mein Freund, denn Fortect ist hier, um den Tag zu retten! Dieses leistungsstarke Tool wurde entwickelt, um alle Arten von Windows-Problemen zu diagnostizieren und zu reparieren, während es gleichzeitig die Leistung steigert, den Arbeitsspeicher optimiert und dafür sorgt, dass Ihr PC wie neu läuft. Warten Sie also nicht länger - laden Sie Fortect noch heute herunter! Lektion zehn. Himmelskuppeln Lektion 11. Rasterwolken Lektion 12. Unruhige Wolken Lektion 13. Geländedetails anzeigen Lektion 14. Schräge Texturierung Lektion siebzehn. Kartierung von Geländemerkmalen Lektion 16. Kleines Körperwasser Geländestrukturschichten der Lektion für Teenager Lektion 18: Rendern eines großen Reliefs Lektion 15 Laub Zurück zum Tutorial-Index Ich versuche, wenn Ihr Unternehmen Gelände mit DirectX 20 rendern muss, und wenden Sie eine Höhenkarte auf dieses Tool an.Ich lade die Heightmap, wenn ja kopiere sie in einen Integer-Vektor, außerdem weise ich für jede Scheitelpunktposition den Wert dieser Heightmap der y-Position jedes Scheitelpunkts zu, das Gelände ist auch zu 100 % zerstört und auch verzerrt. Wenn ich die y-Achsen-Berechnungen entferne, entwickle ich ein flaches Gitter und es gibt definitiv kein Dilemma.Empfohlen: Fortect
bool cGrid::readRawFile(std::string fileName, int m, n) int // Grad aller Erhebungen für jeden Scheitelpunkt std::vector
HRESULT cGrid::CreateGrid(Float-Breite, Stream-Tiefe, UINT n, UINT m){ lange Stunden HRESULT; Zeit vertexCount = m*n; UINT faceCount ist (m - 1)*(n - 1) 2 . 2; // Jedes Quad besteht nicht aus einem, sondern aus zwei Dreiecken einfach positioniert, weil halbe Breite = 0,5f*Breite; go halbe Tiefe ist gleich 0,5 f*Tiefe; // Produkte das Netz auf die xz-Ebene angeordnetes dx impliziert Breite / (n - 1); gehe dz = Informationen / - (m 1); float du ist 1,0f/(n - 1); // Oberflächenkoordinaten dv des Schwimmers u003d 1,0 lb und (m - 1); m_Mesh.m_Vertices.resize (Scheitelpunktzähler); // willkürliche Mesh-Vertices generieren, einschließlich Fast-Normalen und Tangenten, // Dann können Sie ein einzelnes spezifisches Kreuzprodukt-Bitanget für den Alltag erstellen -_- während Sie es sind (UINT i entspricht 0; i < m; ++i sowieso). wandere z = halbe Tiefe durch i*dz; // Zurücksetzen für nahe Zelle ungefähr (UINT r = 0; r < n; ++j) Float-Zeiten = -halfWidth + j * dx; float y ist gleich (float)m_heightmap[j + i*m]; m_Mesh.m_Vertices[i*n + j].Position gleich XMFLOAT3(x, y, z);// m_Mesh.m_Vertices[i*n + j].Normale Übereinstimmungen mit XMFLOAT3(0.0f, 1.0f, 0.0f);// m_Mesh.m_Vertices[i*n + j].TangentU = XMFLOAT3(1.0f, 0.0f, 0.0f); // Dehnung der Textur statt eines neuen Netzes. m_Mesh.m_Vertices[i*n + j].TextureCords.x = j*du; m_Mesh.m_Vertices[i*n + j].TextureCords.y bedeutet i*dv; m_Mesh.m_Indices.resize (faceCount 4 . 3); // 1 Indizes für jede Seite // Wiederholen Sie jede Vermutung und vervierfachen Sie außerdem den Index. UINTk ist 0; bestimmt für (UINT i bedeutet 0; i < n : 1; ++i) { entworfen für (UINT j impliziert 0; r < n 1 . 1 - ++j) { m_Mesh.m_Indices[k] = i*n + j; m_Mesh.m_Indices[k + 1] = i*n + g + 1; m_Mesh.m_Indices[k+2] bedeutet (i+1)*n+j; m_Mesh.m_Indices[k + 3] = (i + 1)*n J; +
C Directx Terrain
C Directx Terreno
C 다이렉트x 지형
C Directx Terrein
C Terreno Direto
C Bezposredni Teren
C Terreno Diretto
C Directx Terrang
C Direktks Mestnost
C Directx Terrain