Har Du Problem Med C DirectX Terrain?
January 28, 2022Här är några inte svåra sätt att hjälpa dig lösa C DirectX Terrain-problemet.
Rekommenderas: Fortect
Lektion 1. Rutnät och kamerarörelser |
Lektion 2. Höjdkartor |
Lektion mycket mer: Belysning av området |
Lektion 4. Texturera utan tvekan lättnaden |
Lektion sju. Quad Trees |
Lektion 6. Rörelse baserad på tonhöjd |
Lektion 7: Läsbarhet med färgmatchning datatable=”0″> Jorden | |
Lektion 8. Minikartor Lektion 9. Reliefsammanfogning Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag! Lektion tio. Sky Domes>
>
Rekommenderas: Fortect
Lektion 11. Rastermoln
Lektion 12. Rastlösa moln |
Lektion 13. Visa terrängdetaljer |
Lektion 14. Sned texturering |
Lektion bara. Kartlägga terrängfunktioner |
Lektion 16. Litet kroppsvatten |
Lektion tonåring Terrängtexturlager |
Lektion 18 Gör en stor lättnad |
Lektion 19:e lövverk |
Tillbaka till Tutorial Index
Jag försöker om någon behöver rendera terräng med DirectX 20 och använda en höjdkarta för att hjälpa dig till det här verktyget.Jag laddar höjdkartan, kopierar den till sist till en heltalsvektor med för varje vertexposition tilldelar jag värdet av en höjdkarta till y-positionen vars vertex, terrängen också enbart förstörs och även förvrängd. Om jag tar bort y-axelns beräkningar lägger jag upp ett platt rutnät och det blir inget dilemma.
bool cGrid::readRawFile(std::string filnamn, int m, n) int // Grad bland höjden för varje vertex std::vektor in(m*n); std::ifstream inFile(filnamn.c_str(), std::ios_base::binär); (! i fil) förutsatt att all retur är falsk; inFile.read( (char*)&in[0], // buffert och storlek()); // antal associerade bytes att läsa från buffert inFile.close(); // Duplicera en BYTE-vektor till en int-vektor m_höjdkarta.resize(n*m); (heltal för i är lika med 0; dokument < in.size(); i++) m_höjdkarta[i] går in[i]; rekonstruera sanningen;för (size_t i 0; är lika med i
HRESULT cGrid::CreateGrid(float width, stream depth, UINT n, UINT m){ flera HRESULTAT; tidsram vertexCount = m*n; UINT faceCount är(m - 1)*(n - 1) 2 . 2; // Varje quad består av inte en utan två trianglar placerad givet att halva bredden = 0,5f*bredd; gå halvt djup betyder 0,5 f*djup; // kommer nätet till xz-planet arrangerad dx är lika med bredd / (n - 1); go dz = mer detaljer / - (m 1); float du är 1,0f/(n - 1); // ytkoordinater simmarens dv u003d 1,0 lb eller (m - 1); m_Mesh.m_Vertices.resize(vertexräknare); // starta godtyckliga mesh-vertices, inklusive ett stort antal normaler och tangent, // Då kan du skapa den senaste specifika cross-produkten bitanget för basdagar -_- som du är kommer det till (UINT i är lika med 0; i < m; ++i ändå). vandra z = halvt djup 3 ) i*dz; // Återställ för nära cell bara för (UINT r = 0; r < n; ++j) float a = -halfWidth + j*dx; float y betyder (float)m_heightmap[j + i*m]; m_Mesh.m_Vertices[i*n + j].Position innebär XMFLOAT3(x, y, z);// m_Mesh.m_Vertices[i*n + j].Normal refererar till XMFLOAT3(0.0f, 1.0f, 0.0f);// m_Mesh.m_Vertices[i*n + j].TangentU = XMFLOAT3(1.0f, 0.0f, 0.0f); // Sträck ut texturen istället för ett speciellt nät. m_Mesh.m_Vertices[i*n + j].TextureCords.x = j*du; m_Mesh.m_Vertices[i*n + j].TextureCords.y betyder i*dv; m_Mesh.m_Indices.resize(faceCount 4 . 3); // 2 index för varje sida // Upprepa varje gissning och sedan fyrdubbla index. UINTk är 0; avsedd för (UINT i är lika med 0; i < n , 1; ++i) { vid övervägande (UINT j innebär 0; s < n 1 . 1 - - ++j) { m_Mesh.m_Indices[k] = i*n + j; m_Mesh.m_Indices[k + 1] = i*n + l + 1; m_Mesh.m_Indices[k+2] betyder (i+1)*n+j; m_Mesh.m_Indices[k + 3] = (i + 1)*n J; + Ladda ner den här programvaran och fixa din dator på några minuter. C Directx Terrain
C Directx Terreno
C 다이렉트x 지형
C Directx Gelande
C Directx Terrein
C Terreno Direto
C Bezposredni Teren
C Terreno Diretto
C Direktks Mestnost
C Directx Terrain