Russian Qt Forum

Qt => OpenGL => Тема начата: Igors от Август 10, 2015, 14:12



Название: Пошлый эффект
Отправлено: Igors от Август 10, 2015, 14:12
Добрый день

Аттач. Обыкновенный (или банальный) салют/фейерверк анимированный во времени. Конечно известно как движутся "снаряды" и в какой момент они взрываются в воздухе. Но как нарисовать эти "хвосты"?

Спасибо


Название: Re: Пошлый эффект
Отправлено: Igors от Август 10, 2015, 14:28
Да, и кстати, вопрос совсем не замыкается на OpenGL. Можно (и нужно) ширше смотреть на вещи, напр так

- есть файл в котором записана траектория движения объекта кадр за кадром, на каждом кадре известны позиция объекта, его линейная и угловая скорости и, конечно, его геометрия (вертексы м фейсы). Разработать систему позволяющую пользователю создавать интересные  и разнообразные "хвосты" (trails) движущихся объектов

Есть желающие поработать?  :)


Название: Re: Пошлый эффект
Отправлено: Hrundel от Август 10, 2015, 20:51
Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
(А вермени к сожалению нет, чтобы заняться)


Название: Re: Пошлый эффект
Отправлено: Igors от Август 11, 2015, 06:43
Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
Наверное combustion - но это слишком общий термин, киньте ссылку на софт. Спасибо


Название: Re: Пошлый эффект
Отправлено: Hrundel от Август 12, 2015, 19:22
Здесь (http://"http://rutracker.org/forum/viewtopic.php?t=618706") лежит для форточек. Для мака здесь (http://"http://rutracker.org/forum/viewtopic.php?t=1451058").


Название: Re: Пошлый эффект
Отправлено: dmsovetov от Декабрь 10, 2015, 14:24
Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут (http://astralax.ru/projects/particles) можно глянуть на готовое решение


Название: Re: Пошлый эффект
Отправлено: Igors от Декабрь 11, 2015, 09:19
Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут (http://astralax.ru/projects/particles) можно глянуть на готовое решение
Интересная цацка, спасибо за наводку. А есть ли др подходы, кроме создания тучи квадратиков с текстурами? Не то чтобы это "плохо", но имеет свои минусы


Название: Re: Пошлый эффект
Отправлено: navrocky от Декабрь 11, 2015, 10:58
В QtQuick есть могучая система частиц и куча примеров.

http://doc.qt.io/qt-5/qtquick-particles-qmlmodule.html

Если вам не нравится идея рисовать частицы геометрией, то можно их сделать и на шейдерах. Только будет ли это быстрее работать? https://www.shadertoy.com/results?query=particles


Название: Re: Пошлый эффект
Отправлено: Igors от Декабрь 11, 2015, 13:02
В QtQuick есть могучая система частиц и куча примеров.

http://doc.qt.io/qt-5/qtquick-particles-qmlmodule.html

Если вам не нравится идея рисовать частицы геометрией, то можно их сделать и на шейдерах. Только будет ли это быстрее работать? https://www.shadertoy.com/results?query=particles
Ах как сразу крепчает голос когда (оказывается) есть готовые классы  :)

Спрайты (по-простому говоря) - дело хорошее, но есть сомнения. См исходную картинку - длинные тонкие хвосты. Как их рисовать спрайтами, т.е. что должно быть 1 спрайтом (картинкой)? Какой-то маленький кружочек с альфой? И таких "много", их позицию надо анимировать чтобы хвосты расширялись и тухли. Текстуру и размер тоже вероятно надо анимировать. Возни немало, а вот "общности" особой не видно. И картинки надо еще иметь/готовить. Да, так часто делают, но следовать этому необязательно, тем более real-time у меня задача не стоит.

Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?


Название: Re: Пошлый эффект
Отправлено: navrocky от Декабрь 14, 2015, 14:05
В общем-то проблемы со спрайтами нет, оно все очень шустро работает даже на мобилках. Не совсем понял, зачем текстуру анимировать, достаточно размера и прозрачности.

Цитировать
Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?

Реально конечно, но сложнее в реализации будет. Шейдить то тоже можно, но я пока с трудом себе это представляю. Проще натянуть текстурку следа. Во многих играх, где махают мечом, след от меча сделан именно так.


Название: Re: Пошлый эффект
Отправлено: Igors от Декабрь 14, 2015, 15:39
Проще натянуть текстурку следа.
Так я этого и хочу - но не вижу каким образом. Вот как пресловутыми частицами/партиклами сделать узкий тонкий след, кривую расширяющуюся снизу? Ведь чтобы обеспечить "узость" - нужно брать (испускать) маленькие партиклы. Которые должны в дальнейшем рассеиваться и затухать.