У меня есть ситуация, когда у меня есть много (по меньшей мере, тысячи) трехмерных фигур, которые четко определяются небольшим набором значений: масса, центральное положение, угловое положение, скорость, угловая скорость, сила и крутящий момент. Например, предположим, что это эллипсоиды, форма которых зависит от некоторых из этих значений. Например, надавите на сферу, и она «squishes». Спина достаточно быстро, и это дает ауру или что-то в этом роде.Создание динамической геометрии в графическом процессоре или процессоре?
Это что-то, что было бы подходящим, чтобы направить массив этих значений на GPU (если да, то каким будет лучший способ их нажимать?), И у вас есть шейдеры (тесселяция, геометрия, что?) Создают геометрию от них?
И я бы хотел, чтобы другие шейдеры (для таких эффектов, как HDR и т. Д.) Имели доступ к исходным значениям ... скажем, например, тип шейдеров «кометной дорожки», поэтому полосы в направлении напротив скорости.
Вопрос еще раз: подтолкнул бы исходные значения к графическому процессору и позволил бы сделать все, чтобы быть лучшим подходом, или было бы лучше принять какой-то другой подход?
«У меня есть ситуация, когда у меня есть много (по меньшей мере, тысячи) трехмерных фигур, которые четко определяются небольшим набором значений: масса, центральное положение, угловое положение, скорость, угловая скорость, сила и крутящий момент». ... другими словами, частицы? :) Вы можете сделать *** stateful *** моделирования частиц на графических процессорах в наши дни, используя текстуры и фрагментарные шейдеры, или если вы действительно жирные, используя вычислительные шейдеры. И вы ** определенно ** хотите сделать это на GPU, вы можете делать симуляции более миллиона частиц в кадрах реального времени, если вы используете GPU вместо CPU. –
Это зависит от того, что все включено в термин «частицы». Сложный эллипсоид с отдельным сердечником и оболочкой и, возможно, внутри ... это несколько сложная геометрия. Разве это по-прежнему соответствует вашему ответу на вопрос о частице? – mentics
@taotree: для реального моделирования частиц это не имеет значения, так как вы можете сделать очень хорошее приближение, взяв их в качестве точечных масс; форма имеет значение только для столкновений и сопротивления воздуха. Эллипсоиды легко описываются для сопротивления воздуха с использованием так называемого * формфактора *. Чтобы нарисовать каждую «частицу», вы должны использовать instancing, т. Е. Каждый кортеж '(центральная точка, ориентация, форм-фактор)' вызовет визуализацию сложной формы, которая была определена ровно один раз, но используется тысячи раз тогда. – datenwolf