by matref » 14 Jan 2015, 16:46
Le backface culling seul n'est suffisant que sur les polyèdres convexes, puisque ça retire les faces "dos à la caméra", pour faire simple. Le premier truc auquel il faut faire attention, c'est de bien définir toutes les faces des solides avec les sommets allant dans un sens précis (sens des aiguilles d'une montre ou inverse). En gros, pour faire du backface culling (qui au passage ne marche qu'avec des faces dont tous les points sont dans le même plan), tu calcules la normale à la face, et tu fais un produit scalaire entre la normale et le vecteur qui part de la caméra et arrive sur un des points de la face (n'importe). Ensuite, selon l'ordre des sommets de la face tu interprètes le signe du produit scalaire pour savoir si tu dois traiter la face ou pas.
Pour le tunnel, comme a dit TheMachine02 je fais pas d'occlusion 3D. Ce que je fais c'est que toutes les lignes du tunnel sont dessinées dans un écran "virtuel" définit par 4 variables (x, y, longueur, hauteur), et à chaque fois que je m'éloigne (càd à chaque itération), je rétrécis l'écran virtuel pour qu'il soit confondu avec le rectangle dessiné par l'itération précédente du tunnel, de manière à ce que rien ne soit dessiné en-dehors du rectangle dessiné par les lignes précédentes.
Programmer en hexadécimal, c'est possible ! (tutoriel 82 stats, 82 stats.fr, 83, 83+, 83+.fr, 83+SE, 84+, 84+.fr, 84+ pocket.fr, 84+ SE)Faites donc un tour sur ticalc pour voir mes programmes !
