Я пытаюсь нарисовать призму и анимировать ее с помощью CoreAnimation. Но я не могу найти хорошего решения, чтобы нарисовать веер радужных цветов.
Есть несколько способов сделать это, каждый из них имеет недостатки:
- Я мог бы просто использовать изображение. Но я разрешаю пользователю увеличивать сцену, и я хотел бы избежать каких-либо артефактов.
- Использование
CAGradientLayer
дает красивую радугу. К сожалению, теперь доступно преобразование наклона (или сжатия) для преобразования прямоугольной радуги в треугольник. - Простой эффект перекоса слоя можно получить, изменив матричный элемент m34 матрицы преобразования слоя. Но мне не удалось получить треугольную форму (потому что слой должен был бы иметь бесконечный размер).
- OpenGL. Это сработает, но, возможно, есть более простой способ.
Какие-либо предложения?