Test not positif
This commit is contained in:
parent
443b3a319d
commit
7c7dddde5e
9 changed files with 286 additions and 32 deletions
|
|
@ -65,23 +65,25 @@ namespace LandblockExtraction.LandBlockExtractor {
|
|||
Vector3 vertex4 = blockStruct.verticesStruct.position[index4];
|
||||
|
||||
var normal = MathOperations.CalculateQuadNormal(vertex1, vertex2, vertex3, vertex4);
|
||||
var test = MathOperations.CalculateInclination(normal);
|
||||
|
||||
var sub1 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index1].X].DetermineSubTerrain(1 - normal.Y);
|
||||
var sub2 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index2].X].DetermineSubTerrain(1 - normal.Y);
|
||||
var sub3 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index3].X].DetermineSubTerrain(1 - normal.Y);
|
||||
var sub4 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index4].X].DetermineSubTerrain(1 - normal.Y);
|
||||
var sub1 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index1].X].DetermineSubTerrain(test);
|
||||
var sub2 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index2].X].DetermineSubTerrain(test);
|
||||
var sub3 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index3].X].DetermineSubTerrain(test);
|
||||
var sub4 = terrainAtlasManager.terrains[(int)blockStruct.verticesStruct.terraintype[index4].X].DetermineSubTerrain(test);
|
||||
|
||||
InitColorFarColorTerrain(index1, sub1, blockStruct);
|
||||
InitColorFarColorTerrain(index2, sub2, blockStruct);
|
||||
InitColorFarColorTerrain(index3, sub3, blockStruct);
|
||||
InitColorFarColorTerrain(index4, sub4, blockStruct);
|
||||
InitColorFarColorTerrain(index1, normal, sub1, blockStruct);
|
||||
InitColorFarColorTerrain(index2, normal, sub2, blockStruct);
|
||||
InitColorFarColorTerrain(index3, normal, sub3, blockStruct);
|
||||
InitColorFarColorTerrain(index4, normal, sub4, blockStruct);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitColorFarColorTerrain(int index, SubTerrain terrain, BlockStruct blockStruct) {
|
||||
private void InitColorFarColorTerrain(int index, Vector3 normal, SubTerrain terrain, BlockStruct blockStruct) {
|
||||
blockStruct.verticesStruct.terraintype[index].X = terrain.terrainIndex;
|
||||
blockStruct.verticesStruct.color[index] = terrain.Color;
|
||||
blockStruct.verticesStruct.farcolor[index] = terrain.farColor;
|
||||
blockStruct.verticesStruct.normal[index] = normal;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -180,42 +182,34 @@ namespace LandblockExtraction.LandBlockExtractor {
|
|||
newPositions.Add(blockStruct.verticesStruct.position[one]);
|
||||
newColors.Add(blockStruct.verticesStruct.color[one]);
|
||||
newFarColors.Add(blockStruct.verticesStruct.farcolor[one]);
|
||||
newNormals.Add(blockStruct.verticesStruct.normal[one]);
|
||||
newTerrainTypes.Add(terrainType);
|
||||
|
||||
newPositions.Add(blockStruct.verticesStruct.position[two]);
|
||||
newColors.Add(blockStruct.verticesStruct.color[two]);
|
||||
newFarColors.Add(blockStruct.verticesStruct.farcolor[two]);
|
||||
newNormals.Add(blockStruct.verticesStruct.normal[two]);
|
||||
newTerrainTypes.Add(terrainType);
|
||||
|
||||
newPositions.Add(blockStruct.verticesStruct.position[three]);
|
||||
newColors.Add(blockStruct.verticesStruct.color[three]);
|
||||
newFarColors.Add(blockStruct.verticesStruct.farcolor[three]);
|
||||
newNormals.Add(blockStruct.verticesStruct.normal[three]);
|
||||
newTerrainTypes.Add(terrainType);
|
||||
|
||||
|
||||
newPositions.Add(blockStruct.verticesStruct.position[foor]);
|
||||
newColors.Add(blockStruct.verticesStruct.color[foor]);
|
||||
newFarColors.Add(blockStruct.verticesStruct.farcolor[foor]);
|
||||
newNormals.Add(blockStruct.verticesStruct.normal[foor]);
|
||||
newTerrainTypes.Add(terrainType);
|
||||
|
||||
newTexCoord.Add(new(0, 0));
|
||||
newTexCoord.Add(new(0, 1));
|
||||
newTexCoord.Add(new(1, 0));
|
||||
newTexCoord.Add(new(1, 1));
|
||||
|
||||
var normal = MathOperations.CalculateQuadNormal(blockStruct.verticesStruct.position[one],
|
||||
blockStruct.verticesStruct.position[two],
|
||||
blockStruct.verticesStruct.position[three],
|
||||
blockStruct.verticesStruct.position[foor]);
|
||||
|
||||
newNormals.Add(normal);
|
||||
newNormals.Add(normal);
|
||||
newNormals.Add(normal);
|
||||
newNormals.Add(normal);
|
||||
}
|
||||
|
||||
// Ajouter les nouveaux sommets à la structure BlockStruct (étape 2)
|
||||
// Vous devez également mettre à jour les indices dans blockStruct.indices
|
||||
blockStruct.verticesStruct.position = newPositions.ToArray();
|
||||
blockStruct.verticesStruct.normal = newNormals.ToArray();
|
||||
blockStruct.verticesStruct.color = newColors.ToArray();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue