Les cas d'utilisation ne sont limités que par votre imagination! noperspective
signifie que l'attribut est interpolé sur le triangle comme si le triangle était complètement plat sur la surface de l'écran. Vous pouvez effectuer un rendu filaire anti-crénelé avec ceci: restituez une distance écran-espace au bord le plus proche comme noperspective
variable et utilisez-la comme couverture dans le pixel shader.
Ou si vous effectuez un rendu non photoréaliste et que vous souhaitez un motif dans l'espace d'écran comme le tramage , vous pouvez activer noperspective
vos UV utilisés pour la texturation.
Cela fait-il une différence de performance? Probablement, mais vous ne le remarquerez probablement pas (à l'exception potentielle d'un matériel graphique moins puissant). La plupart des GPU sont composés d'une série d'étapes de pipeline qui s'exécutent en parallèle, et dans un certain sens, vous ne payez que le coût de l'étape la plus chère. Si la pixellisation est la partie la plus limitante pour vous, alors vous pouvez voir une différence par rapport aux divisions que vous sautez par pixel. Je suppose que c'est le plus probable lors du rendu d'une carte d'ombre ou d'un pré-profondeur, mais ceux-ci ont également le moins d'attributs à interpoler.