Я читаю удивительный учебник OpenGL. Это действительно здорово, поверьте мне. Тема, в которой я сейчас живу, - Z-буфер. Помимо объяснения того, что все это значит, автор упоминает, что мы можем выполнять собственные тесты глубины, такие как GL_LESS, GL_ALWAYS и т.д. Он также объясняет, что фактическое значение значений глубины (которое является верхним, а какое нет) также может быть настроены. До сих пор я понимаю. И тогда автор говорит что-то невероятное:
Диапазон zNear может быть больше, чем диапазон zFar; если это так, то значения оконного пространства будут отменены, с точки зрения того, что составляет ближайший или дальний от зрителя.
Ранее было сказано, что значение Z окна-окна 0 является самым близким и 1 является самым дальним. Однако, если наши значения Z-пространства клипа были сведены на нет, глубина 1 будет ближе всего к виду, а глубина 0 будет равна дальняя. Тем не менее, если мы перевернем направление теста глубины (GL_LESS - GL_GREATER и т.д.), Мы получаем тот же результат. Так что это действительно просто условность. Действительно, щелчок знака Z и тест глубины были однажды жизненно важная оптимизация производительности для многих игр.
Если я правильно понимаю, по эффективности, перевернув знак Z и тест глубины, это не что иное, как сравнение сравнения <
с сравнением >
. Итак, если я правильно понял и автор не лгал или делал что-то вроде этого, то для меня было бы оптимизировать.
Является ли автор вопросом, я что-то недопонимаю, или это действительно так, что когда-то <
был медленнее (жизненно, как говорит автор), чем >
?
Спасибо за разъяснение этого довольно любопытного вопроса!
Отказ от ответственности: я полностью осознаю, что сложность алгоритма является основным источником оптимизации. Кроме того, я подозреваю, что в настоящее время это определенно не будет иметь никакого значения, и я не прошу об этом ничего оптимизировать. Я просто чрезвычайно, мучительно, может быть, непозволительно любопытно.