Я пытаюсь отобразить 250 кадров анимации с помощью Nvidia Optix Ray-Tracing.У меня есть этот базовый класс частиц:
struct Particle{
float[3] location;
float size;
float[4] color;
string State;
}
Я извлекаю всю информацию (местоположение, размер, цвет и состояние) для каждой частицы для каждого кадра из файла .txt, созданного в Blender.Файл txt выглядит примерно так:
frame 001:
particle1 = {loc = (0,0,0), size = 0.1, color =(255, 255, 255, 255), state = "BORN"}
frame 002:
...
Я также повторяю все частицы в кадре x, преобразуя их в объект типа частицы (см. Выше структуру.)и помещая их в массив, который выглядит примерно так:
Particles = {{part1, part2, part3}, {...}, {...}}
, где каждый массив внутри основного массива представляет кадр анимации.
Так что мне не нужно делатьЛюбой расчет с использованием C ++ или Optix, мне просто нужно визуализировать частицы этого размера, в этом месте этого цвета.
Я думаю, что код будет выглядеть примерно так:
for(int frame = 0; frame <250; frame++){ //Iterate trought all the frames
for(int i; i <= Particles[frame].size(), i++){ //Iterate trought all the particles in that frame
//render them.
}
}
Я пропускаю только шаг для их рендеринга.Я пытался искать в Интернете ссылки, но ничего не нашел по частицам в Optix.Я изучил исходный код образца optixParticles и обнаружил, что в этом случае optix визуализирует частицы в виде сферы с «плоским» затенением, то есть в «смешанном способе работы» сфер с помощью шейдерного излучения.Но я не могу найти ничего больше, чем этот образец, и я также не могу понять части этого образца.
Возможно ли то, что я пытаюсь сделать, относительно простым способом?И если это слишком много, чтобы спросить или это неясно, есть ли сайт семьи StackOverflow, чтобы спросить объяснения на конкретный кусок кода?