У меня есть строки, которые программно определены моей программой.то, что я хочу сделать, это отрисовать мазок кисти вдоль них.
Я думаю, что тип кисти, которую я хочу, работает: у нее просто есть текстура, в основном прозрачная, и вы делаете, визуализируете эту текстурусосредоточены на каждом пикселе в пути, и они смешиваются вместе, чтобы создать удар.
Теперь, предполагая, что это даже работает, я собираюсь поспорить, что это будет СЛИШКОМ слишком дорого (нацеливание на ipad и другие мобильные чипы, которые НЕНАВИЖУ, скорость заполнения и альфа-смешение)
Какие еще варианты есть?
, если бы это можно было сделать в реальном времени (то есть сплайн траектории, обновляющий каждый кадр), что было бы идеально.но если нет, то в течение доли секунды на ipad тоже будет хорошо (сплайны соединяют узлы, пользователь может перетаскивать узлы вокруг, тем самым преобразуя сплайн, но было бы приемлемо вернуться к более простой заливке сплайна, пока ондвигался, затем пересчитал кисть, как только они ее отпустят)
для тех, кто задается вопросом, я пытаюсь сделать так, чтобы толстые линии выглядели так, как будто они были сделаны карандашом.он должен выглядеть максимально реалистично.
Я подумал о том, чтобы просто отрисовать закрашенный сплайн на текстуру, но, поскольку сплайн может иметь любую длину, в любом направлении, выделение целой прямоугольной текстуры для охвата всего сплайнабыть дорогостоящим ...
сплайн неизбежно разбивается на квадраты для рендеринга, поэтому я подумал о том, чтобы сначала отрисовать кисть до текстуры, а затем сгенерировать оптимизированную текстуру с каждым из четырех квадратов, отделенным и упакованным какаккуратно, насколько это возможно, в текстуру.
но два рендеринга в текстуру ... алгоритм для создания оптимизированной текстуры, благодаря которому квады все еще легко смешиваются друг с другом ... звучит как кошмар, и это даже не делает его в реальном времени.
так что, да, есть какие-нибудь идеи о том, как рисовать толстые карандашные линии, которые следуют за сплайном в реальном времени на ipad в openGL?