У меня есть одно решение, но оно использует функцию текстуры 3D для создания цельного выдавливания, поэтому оно действительно медленное:
«Дублирование растровых данных (пиксельных данных) по длине вектора для создания 3D-текстуры»
Однако это только перпендикулярное выдавливание (перпендикулярный вектор), и, честно говоря, оно медленное.