Bonjours les amis,
Je veux modéliser le terrain de Puget Sound en utilisant sa heightmap http://www.cc.gatech.edu/projects/large_models/ps.html
Afin de lire les valeurs de cette image PNG j'ai utilisé la fonction suivante :
Mais malheureusement le résultat n'était pas réel, alors j'ai converti l'image png en raw en utilisant photoshop (lire l'image png dans photoshop puis la sauvegarder en format raw) et quand j'exécute le programme en utilisant la même fonction décrite ci dessus et l'image .raw le résultat sera beaucoup meilleur. Ma question est la suivante : est ce que cette methode que j'ai utilisé (convertir png en raw) est juste ou pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 bool CTerrain::LoadHeightMap(char* fileName, int length, int width) { FILE *file; file = fopen(fileName, "rb"); //check to see if there is data if (file == NULL) return false; BYTE Heights = ( BYTE *)malloc(length*width*sizeof( BYTE )); fread(Heights,sizeof( BYTE ),length*width,file); fclose(file); ////check to see if there is data if( Heights != NULL ) { return true; } else return false;
Si ce n'est pas le cas, que dois je faire pour lire les vrais valeurs de cette carte?
Merci d'avance
Partager