2016-09-11 3 views
0

Я хочу, чтобы луч литой линии через сетку image3D. Теперь, если я ударил воксел, я хотел бы получить трехлинейное интерполированное значение соседних 8 вокселей.Трехлинейная интерполяция в вычислительном шейдере

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

Конечно, я могу написать код вручную самостоятельно. Тем не менее, это буквально убьет хорошую производительность.

+2

Почему бы не использовать 'texture3D' вместо' image3D'? –

+1

Вы ответили на свой вопрос, вы просто как-то не подключили точки;) Сэмплинг поддерживается в вычислении, и он распространяется на 1D и 3D. Кстати, вы действительно имеете в виду трилинейную фильтрацию здесь? Это связано с тем, что фильтр min/mag и mip устанавливается в линейный. Мипмапы в 3D-текстурах немного свернуты, если не сказать больше. –

ответ

2

Я хочу, чтобы луч прорисовал линию через сетку image3D. Теперь, если я ударил воксел, я хотел бы получить трехлинейное интерполированное значение соседних 8 вокселей.

Затем нанесите его на sampler3D вместо сетки image3D.

Смежные вопросы