Quelque nouvelle de mon samedi très productif.
J'ai laissé tombé python 3.2 pour revenir au 2.7.1. Pour faire simple je pourrais plus facilement développer l'interface graphique.
J'ai aussi laissé tombé mon morceau de code maison pour lire les bitmaps et je lui ai préféré le module PIL (pour Python Image Library). Résultat : le type d'image n'est plus limité au bmp 24 bits, ca marche niquel avec du jpeg ou du png. Ensuite, les images peuvent être directement redimensionnés par mon éditeur, on peu partir d'une map en 1024x1024, une image en 512 par 512 et avoir un résultat en 1153x1153.
Pour finir, je devrai être en mesure de créer une image à partir d'une map CIM (le fonctionnement inverse en somme). Ca permettra de récupérer la topographie de maps déjà existante.
J'ai défini clairement quel seront les réglages :
- l'altitude max : qui correspond au blanc. A titre indicatif Entre 5000 et 8000, ca donne un bon résultat.
- le niveau de l'eau : de 0 à 254 qui correspond directement au valur "RVB" des pixel de l'image d'altitude. Donc on ouvre la dite image (photoshop, paint,... peu importe) on choisie un pixel sur une berge de lac ou de rivière, un coup de pipette nous donne les 3 valeurs "RVB" du pixel (de 0 à 255 et identique dans une image en niveaux gris). On a juste à reporter ce chiffre dans mon éditeur pour fixer le niveau exacte de l'eau. Ci vous vous dites "255 ? plus haut tu parle de 254", en fait a 255 toutes la map serait sous l'eau.
- Pour l'érosion automatique des sommets, on indique un pourcentage et une force. Par exemple avec 50% et une altitude max de 6000, l'érosion augmentera progressivement entre 3000 et 6000 d'altitude.
- Enfin il y a un paramètre que j'appèle (imaginé une musique flippante) :"le facteur d'optimisation de l'altitude". Démonstration en image :
Je pars de cette topographie :
J'ai créé cette image d'altitude à partir d'un dégradé tous simple.
La version de base avec un facteur de 1 :
Mais une pante comme sa, c'est dur à aménager et le relief ressort pas beaucoup.
Noté le petit rond rouge, on y voit deux case de texture de béton. Le niveau de l'eau et ajusté pour arriver entre les deux.
Facteur d'optimisation à 2 :
optimisation à 3 :
La montagne sur la gauche ressort bien, et on a une belle zone plate au bord de l'eau. Le niveau de l'eau ne bouge pas d'un poile quelque soit le facteur d'optimisation.
à tire indicatif, un facteur de 0.5 :
Pour info, sur ces dernière maps, le niveau de l'eau est fixé par la couleur du premier pixel en haut à gauche de l'image. lors de la génération de la map, il est automatiquement nivelé au même niveau que le 2e pixel.