Je vois ce que tu veux dire… Effectivement, une scène avec des réflexions de réflexions, ça finit par devenir un véritable labyrinthe…
Mais si tu y réfléchis bien, la technique du Z-buffer existe parce qu’il est plus rentable de redessiner plusieurs fois un pixel plutôt que de trier les polygones en fonction de leur distance par rapport à un point.
Or, le raytracing, c’est du calcul d’intersection entre chaque rayon et le premier polygone qu’il croise. Du coup, le tri des polygones est obligatoire à chaque réflexion (et il faut mettre en place des optimisations ou l’on découpe l’espace à la truelle pour diminuer le nombre de polygones à trier, en fonction de l’endroit d’ou part le rayon). Quand un matériau est réfléchissant, le nombre de rayons à lancer est faible parce que les rayons qui ont beaucoup d’influence sont regroupés autour du rayon de Snell Descartes. Pour un matériau mate, l’angle dans lequel il faut lancer des rayons est beaucoup plus important…
Du coup, même en raytracing il y a des calculs inutiles, puisque les polygones doivent être triés même quand aucun rayon ne vient les toucher.
Tu as donc effectivement raison, dans certains cas, le raytracing n’est pas beaucoup moins rentable… Dans une scène ou on a de gros objets convexes et courbes, les algos de type z-buffer sont beaucoup plus efficaces parce qu’il y a beaucoup de polygones pour peu de surfaces cachées, alors que dans le cas ou il y a plein de petits objets brillants qui gesticulent dans tous les sens (genre une nuée de criquets en métal), le ratio surfaces cachées/nombre de polygones rend le raytracing plus séduisant.
(en gros, plus le chemin des rayons est chaotique et disjoint, plus il est rentable de les calculer individuellement plutôt que de créer des environnement maps)
Alors, effectivement, d’un point de vue humain, le raytracing est plus attirant, dans le sens où un moteur de raytracing suit quelques règles physiques simples, qu’il est compact et plus lisible, alors qu’un moteur temps réel comme on les fait aujourd’hui est un immense dédale de bidouilles adaptées à chaque cas particulier, moins lisibles mais plus rapides à éxecuter…
Mais bon les moteurs de raytracing temps réel qui apparaitront dans quelques années seront également très optimisés, et emprunteront à mon avis tellement de techniques aux moteurs traditionnels (l’inverse est déja très vrai, le mapping d’environnement, le bump mapping et même les textures en général sont mathématiquement du raytracing du pauvre), qu’ils seront purement et simplement fusionnés…