Лучший способ визуализации нарисованных от руки фигур
Вопрос
Думаю, я проиллюстрирую это примером:В эта игра вы можете рисовать 2D-фигуры с помощью мыши, и то, что вы рисуете, отображается на экране в режиме реального времени.Я хочу знать, каковы наилучшие способы визуализации этого типа рисунка с использованием аппаратного ускорения (OpenGL).У меня было две идеи:
- Создайте текстуру размером с экран при запуске рисования, обновите ее при рисовании и выведите на экран
- Создайте серию линейных сегментов для представления чертежа и визуализируйте их с помощью линий или тонких полигонов
Есть ли еще какие-нибудь идеи?Какой из этих методов, вероятно, будет лучшим / наиболее эффективным / простым?Любые предложения приветствуются.
Решение
Я люблю физику карандашом (музыка заводит меня каждый раз).Отличная игра!
Но вернемся к сути дела...Он создал спрайты кисти, которые повторяют положение вашей мыши.Он создал несколько кистей, которые немного отличаются друг от друга.Как только мышь опускается, я представляю, что он добавляет эти спрайты в структуру данных и отправляет эту структуру через свои функции рисования и столкновения для выполнения цикла.Таким образом, возникает эффект реального времени.Он использует простую библиотеку слоев DirectMedia, которой я показываю два больших пальца.
Другие советы
Я почти уверен, что вторая идея - это правильный путь.
Первый вариант, если игрок рисует чисто от руки (а не линии), и то, что он рисует, не нужно анимировать.
Второй вариант, если он анимирован или состоит в основном из линий.Если вы выберете это, то, похоже, вам нужно будет рисовать тонкие многоугольники, а не правильные линии, чтобы получить какой-либо интересный вид (как в примере с карандашом).