Je lis un super tutoriel OpenGL . C'est vraiment génial, croyez-moi. Le sujet sur lequel je suis actuellement est le Z-buffer. En plus d'expliquer de quoi il s'agit, l'auteur mentionne que nous pouvons effectuer des tests de profondeur personnalisés, tels que GL_LESS, GL_ALWAYS, etc. Il explique également que la signification réelle des valeurs de profondeur (qui est supérieure et qui ne l'est pas) peut également être personnalisé. Je comprends jusqu'à présent. Et puis l'auteur dit quelque chose d'incroyable:
La plage zNear peut être supérieure à la plage zFar; si c'est le cas, alors les valeurs de l'espace fenêtre seront inversées, en termes de ce qui constitue le plus proche ou le plus éloigné du spectateur.
Plus tôt, il a été dit que la valeur Z de l'espace fenêtre de 0 est la plus proche et 1 la plus éloignée. Cependant, si nos valeurs Z d'espace clip étaient annulées, la profondeur de 1 serait la plus proche de la vue et la profondeur de 0 serait la plus éloignée. Pourtant, si nous inversons la direction du test de profondeur (GL_LESS à GL_GREATER, etc.), nous obtenons exactement le même résultat. Ce n'est donc qu'une convention. En effet, retourner le signe de Z et le test de profondeur était autrefois une optimisation des performances vitale pour de nombreux jeux.
Si je comprends bien, en termes de performances, retourner le signe de Z et le test de profondeur n'est rien d'autre que changer une <
comparaison en >
comparaison. Donc, si je comprends bien , et l'auteur ne mentais pas ou de faire les choses, puis changer <
à l' >
habitude d'être une optimisation vitale pour de nombreux jeux.
L'auteur invente-t-il des choses, est-ce que je comprends mal quelque chose, ou est-ce effectivement le cas qui <
était autrefois plus lent ( vitalement , comme le dit l'auteur) que >
?
Merci d'avoir clarifié cette question assez curieuse!
Avertissement: je suis pleinement conscient que la complexité de l'algorithme est la principale source d'optimisations. De plus, je soupçonne que de nos jours, cela ne ferait vraiment aucune différence et je ne demande rien pour optimiser quoi que ce soit. Je suis juste extrêmement, douloureusement, peut-être d'une curiosité prohibitive.