protected override void InitialiserSommets() { int NoSommet = -1; for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j) { for (int i = 0; i < NbColonnes; ++i) { Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j], PtsTexture[i, j]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], PtsTexture[i, j + 1]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], PtsTexture[i + 1, j]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], PtsTexture[i + 1, j]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], PtsTexture[i, j + 1]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j + 1], PtsTexture[i + 1, j + 1]); } } Vector3 centreBas = new Vector3(Origine.X, PtsSommets[0, 0].Y, Origine.Z); for (int i = 0; i < NbColonnes; ++i) { Sommets[++NoSommet] = new VertexPositionTexture(centreBas, PtsTexture[PtsTexture.GetLength(0) / 2, PtsTexture.GetLength(1) - 1]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, 0], PtsTexture[i, PtsTexture.GetLength(1) - 2]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, 0], PtsTexture[i + 1, PtsTexture.GetLength(1) - 2]); } Vector3 centreHaut = new Vector3(Origine.X, PtsSommets[0, PtsSommets.GetLength(1) - 1].Y, Origine.Z); for (int i = 0; i < NbColonnes; ++i) { Sommets[++NoSommet] = new VertexPositionTexture(centreHaut, PtsTexture[PtsTexture.GetLength(0) / 2, 0]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, PtsSommets.GetLength(1) - 1], PtsTexture[i + 1, 1]); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, PtsSommets.GetLength(1) - 1], PtsTexture[i, 1]); } }
private void CréerTableauPoints() { for (int i = 0; i < PtsSommets.GetLength(1); ++i) { for (int j = 0; j < PtsSommets.GetLength(0); ++j) { PtsSommets[j, i] = new Vector3(Origine.X + j * Delta.X, Origine.Y + i * Delta.Y, Origine.Z); } } }
void AffecterPtsSommets() { for (int i = 0; i < PtsSommets.GetLength(0); ++i) { for (int j = 0; j < PtsSommets.GetLength(1); ++j) { PtsSommets[i, j] = new Vector3(Origine.X - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).X)) + Extrémité1.X, Origine.Y - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).Y)) + (float)Math.Cos(j * 2 * Math.PI / NbLignes) + Extrémité1.Y, Origine.Z - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).Z)) + (float)Math.Sin(j * 2 * Math.PI / NbLignes) + Extrémité1.Z); } } }
private void CréerTableauPoints() { int ptsData = 0; for (int i = 0; i < PtsSommets.GetLength(0); ++i) { for (int j = PtsSommets.GetLength(1) - 1; j >= 0; --j) { PtsSommets[i, j] = new Vector3((Origine.X + i * Delta.X), 0, (Origine.Y + j * Delta.Y)); ++ptsData; } } }
void CréerTableauPoints() { float angle; for (int i = 0; i < PtsSommets.GetLength(1); ++i) { for (int j = 0; j < PtsSommets.GetLength(0); ++j) { angle = (float)j / (PtsSommets.GetLength(0) - 1) * MathHelper.TwoPi; PtsSommets[j, i] = new Vector3(Origine.X + Rayon * (float)Math.Cos(angle), Origine.Y + i * DeltaY, Origine.Z - Rayon * (float)Math.Sin(angle)); } } }
private void GénérerPoints() { int ptsData = 0; for (int i = 0; i < PtsSommets.GetLength(0); ++i) { for (int j = PtsSommets.GetLength(1) - 1; j >= 0; --j) { PtsSommets[i, j] = new Vector3(PositionInitiale.X + (i * Grid.Delta.X), 0.25f, PositionInitiale.Z + (j * Grid.Delta.Y)); ++ptsData; } } }
protected override void InitialiserSommets() // Est appelée par base.Initialize() { int NoSommet = -1; for (int i = 0; i < PtsSommets.GetLength(1) - 1; ++i) { for (int j = 0; j < PtsSommets.GetLength(0); ++j) { Sommets[++NoSommet] = new VertexPositionColor(PtsSommets[j, i], Couleur); Sommets[++NoSommet] = new VertexPositionColor(PtsSommets[j, i + 1], Couleur); } } }
protected void InitialiserSommets() { int noSommets = -1; for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j) { for (int i = 0; i < PtsSommets.GetLength(0) - 1; ++i) { Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i, j + 1], Couleur); Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i, j], Couleur); Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i + 1, j + 1], Couleur); Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i + 1, j], Couleur); } } }
void CréerTableauxPoints() { for (int j = 0; j < PtsSommets.GetLength(1); ++j) { for (int i = 0; i < PtsSommets.GetLength(0); ++i) { PtsSommets[i, j] = new Vector3(Origine.X + i * Delta.X, Origine.Y, Origine.Z - j * Delta.Y); } } PtsTexture[0] = new Vector2(0, 1); PtsTexture[1] = new Vector2(1, 1); PtsTexture[2] = new Vector2(0, 0); PtsTexture[3] = new Vector2(1, 0); }
protected override void InitialiserSommets() { int NoSommet = -1; for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j) { for (int i = 0; i < PtsSommets.GetLength(0) - 1; ++i) { Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j], new Vector2(0, 1)); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], new Vector2(0, 0)); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], new Vector2(1, 1)); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], new Vector2(0, 0)); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j + 1], new Vector2(1, 0)); Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], new Vector2(1, 1)); } } }
void AffecterPtsSommets() { float angle = (float)(2 * Math.PI) / NbColonnes; float phi = 0; float theta = 0; for (int j = 0; j < PtsSommets.GetLength(0); ++j) { for (int i = 0; i < PtsSommets.GetLength(1); ++i) { PtsSommets[i, j] = new Vector3(Origine.X + Rayon * (float)(Math.Sin(phi) * Math.Cos(theta)), Origine.Z + Rayon * (float)(Math.Cos(phi)), Origine.Y + Rayon * (float)(Math.Sin(phi) * Math.Sin(theta))); theta += angle; } phi += (float)Math.PI / NbLignes; } }
private void CréerTableauPoints() { int indiceColor = -1; for (int i = PtsSommets.GetLength(1) - 1; i >= 0; --i) { for (int j = 0; j < PtsSommets.GetLength(0); ++j) { PtsSommets[j, i] = new Vector3(Origine.X + j * Delta.X, DataTerrain[++indiceColor].B * Delta.Y, Origine.Z + i * Delta.Z); DataTexture0[indiceColor].A = (byte)(MAX_COULEUR - DataTerrain[indiceColor].B); DataTexture1[indiceColor].A = DataTerrain[indiceColor].B; } } TextureTerrain[0].SetData(DataTexture0); TextureTerrain[1].SetData(DataTexture1); for (int i = 0; i < PtsTexture.GetLength(1); ++i) { for (int j = 0; j < PtsTexture.GetLength(0); ++j) { PtsTexture[j, i] = new Vector2((float)j / NbColonnes, 1 - (float)i / NbRangées); } } }