Envoyé par Odevillée
Voir le message
Concernant le dernier point, je m'en suis rendu compte hier, c'est un oubli de ma part (je devrais être plus attentif quand je fais des
petites modifs de trucs qui marchent, parfois ça les met en l'air).
Je te mets le correctif en ligne dans un instant si sourceforge fonctionne.
Pour le mailleur, pour l'instant il ne fait que très peu de post-processing : il maille (très bien, je le dis d'autant plus facilement
que c'est celui de J. Shewchuk) mais il ne peut pas faire mieux que les données qu'il reçoit, il faut donc ajouter du
post-traitement (ou améliorer les données en entrée, les fichier d'altitudes donc).
Pour l'instant je mets tous les triangles de mer à l'altitude 0 (les fichiers DEM ont parfois des bosses dans l'eau), mais je
n'ai pas traité les lacs (c'est plus compliqué et je n'y ai pas encore réfléchi). Je ne touche pas encore non plus pour l'instant aux
aéroports, donc les pistes peuvent donc être bosselées.
Dans la version alpha1 j'utilisais le maillage du dsf fourni en entrée, et qui avait donc était fait par le logiciel meshtool de laminar,
avec tout le post-traitement qu'il comprend. Ils n'ont pas construit meshtool en un jour, et il réalise pas mal de post-traitement
je crois. Le problème pour moi avec cette solution de facilité c'était que je n'avais pas la main sur les triangles, par exemple
pour faire ce que j'ai fait avec le bord de mer et l'adaptation aux orthophotos.
S'il y a une grosse régression d'un autre côté, ce qui semble être le cas d'après ce que tu décris, je tenterai de la combler.
Il y a un autre petit point que je vais améliorer rapidement : pour l'instant ma "normal map" est à zéro partout, j'avais vu que c'était
le cas dans les dsf d'Alpilotx et je pensais que x-plane prenait simplement la normale aux triangles dans ce cas. Mais j'ai fait
un essai hier soir en calculant les normales et en les encodant, et ça rend beaucoup mieux en montagne (sinon je trouvait
les falaises parfois un peu trop délavées de loin).
Edit : en fait je ne peux pas le faire depuis ici, remplace la fonction attribute_texture par celle-ci
Code:
##############################################################################
def attribute_texture(lat1,lon1,lat2,lon2,lat3,lon3,ortho_list):
bary_lat=(lat1+lat2+lat3)/3
bary_lon=(lon1+lon2+lon3)/3
asked_for=False
for region in ortho_list:
region=region.split(' ')
if is_in_region(bary_lat,bary_lon,float(region[0]),float(region[1]),\
float(region[2]),float(region[3])):
zoomlevel=int(region[4])
website=str(region[5])
asked_for=True
break
if asked_for==False:
return 'None'
retval = wgs84_to_texture(bary_lat,bary_lon,zoomlevel,website)
retval = retval[0:2] + [zoomlevel] + [website]
return retval
##############################################################################

Commentaire