Очистить цвет в CIWarpKernel - PullRequest
       7

Очистить цвет в CIWarpKernel

0 голосов
/ 27 сентября 2019

У меня есть ядро ​​деформации, которое я хочу иметь возможность возвращать чистый цвет для некоторых координат, аналогично фрагменту discardFragment в фрагментных шейдерах.

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

Существует возможность переписать ядро ​​деформации в общий CIKernel и вернуть clearцвет оттуда, но мы теряем преимущества простоты ядра деформации и оптимизации под капотом.


Я также могу подумать об этом решении:

  1. Наложение вводаизображение поверх большого черного изображения
  2. Обрезать до исходного размера после применения эффекта

Для этого потребуется изменить логику ядра, чтобы учесть дополнительный размер края


Есть ли более простой и понятный способ сделать это?

...