У меня есть ядро деформации, которое я хочу иметь возможность возвращать чистый цвет для некоторых координат, аналогично фрагменту discardFragment в фрагментных шейдерах.
Если я просто возвращаю координаты, которые находятся за пределами экстента изображения, он работает, как и ожидалось, при визуализации в MTKView (я вижу четкие пиксели).OTOH при рендеринге в растровое изображение, пиксели, которые должны быть чистыми, принимают цвет ближайшего ребра (аналогично при сэмплировании clipedToExtent).
Существует возможность переписать ядро деформации в общий CIKernel и вернуть clearцвет оттуда, но мы теряем преимущества простоты ядра деформации и оптимизации под капотом.
Я также могу подумать об этом решении:
- Наложение вводаизображение поверх большого черного изображения
- Обрезать до исходного размера после применения эффекта
Для этого потребуется изменить логику ядра, чтобы учесть дополнительный размер края
Есть ли более простой и понятный способ сделать это?