tout est déja fait dans les API Direct Graphics etc...
pour les mirroirs c des matrices on change le repere pendant le temps de rendre la surface reflechissante ( ou autre methode c pas focement celle la)
pour les vitres c tres simple c de l´alpha blending on fait dabord le rendu ce ke kil y a derriere et ensuite on rend les surfaces transparente en capturant le fond et en multipliant par la valeur du texel ( ya plusieurs operations possible: mutimplication, inversion, addition, soustraction et des combinaisons, on peu utiliser certaines couleurs seulement, ou seulement un channel alpha etc etc...)
pour les collisions de balles c´est une detection des collisions rayon/triangle
j´ai tout le calcul si tu veu
on teste tout les triangles ( pour optimiser seulement ceux ki sont dans le couloir de visée)
il faut calculer l´equation du plan du triangle ( on trouve la normale et la plus petite distance par rapport a l´origine. pour la normale c facile: on fait un porduit vectoriel de 2 arretes, pour la plus petite distance on rpend un point du plan et l´origine et on projette sur la normale avec un produit scalaire.) ensuite on fait un calcul simple ou ya 2 scalaires et une division pour trouver la distance d´intersection entre le rayon et le plan, on multiplie par un vecteur unitaire de direction pour trouver le point d´intersection et on vérifie si ce point est a gauche de toute les arretes du triangle ( donc a l´interieur) en faisant des scalaires entre le vecteur point-les sommets et les normales aux arretes.
pour les collisions du hero half life opère une pré calculation pendant la compilation ki spécifie l´espace mouvable.
pour un systeme dynamique il faut faire une elipsoide, ou un cylindre et c vachement compliké je c pas encore faire.