Варианты использования ограничены только вашей фантазией! noperspective
означает, что атрибут интерполируется через треугольник, как если бы треугольник был абсолютно плоским на поверхности экрана. Вы можете сделать сглаженный каркасный рендеринг следующим образом: выведите расстояние экрана до ближайшего края как noperspective
изменяющееся и используйте его в качестве покрытия в пиксельном шейдере.
Или, если вы выполняете нефотореалистичный рендеринг и хотите получить изображение в пространстве экрана, например, полутоновое изображение , вы можете включить noperspective
UV-изображения, используемые для текстурирования.
Это влияет на производительность? Возможно, но вы, вероятно, не заметите (за исключением, возможно, менее мощного графического оборудования). Большинство графических процессоров состоят из последовательности этапов конвейера, которые выполняются параллельно, и в некотором смысле вы платите только за самый дорогой этап. Если растеризация является наиболее ограничивающей частью для вас, то вы можете увидеть отличие от делений, которые вы пропускаете на пиксель. Я думаю, что это наиболее вероятно при рендеринге карты теней или глубины, но они также имеют наименьшее количество атрибутов для интерполяции.