Создание буфера глубины в стиле растеризации из Ray Cast

Я смешиваю приведение лучей и стандартную растеризацию в своем графическом конвейере, и мне нужно создать правильный буфер глубины из приведения лучей, совместимый с растеризацией.

Я знаю, что, как предыдущий answer предполагает, что я мог бы получить мировую позицию пересечения луча, а затем преобразовать его в пространство отсечения с той же матрицей, которую я использую для растеризации, но в моем случае это потребовало бы операции попиксельного умножения матрицы, и чтобы сохранить драгоценную небольшую вычислительную мощность, я хочу избежать этого.

Я знаю, что должен быть способ вычислить правильное значение глубины из луча, используя только векторную математику, но я не совсем понимаю математику, которая генерирует его в первую очередь (т.е. внутреннюю работу перспективной проекции), и поэтому я не уверен, как бы я поступил с буфером глубины без проекционной матрицы.


person lcmylin    schedule 08.08.2015    source источник