Отображение X-частиц с помощью Optix 5
Я пытаюсь отобразить 250 кадров анимации с помощью Nvidia Optix Ray-Tracing. У меня есть этот основной класс частиц:
struct Particle{
float[3] location;
float size;
float[4] color;
string State;
}
Я извлекаю всю информацию (местоположение, размер, цвет и состояние) для каждой частицы для каждого кадра из файла.txt, созданного в Blender. Текстовый файл выглядит примерно так:
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 визуализирует частицы в виде сферы с "плоским" затенением, то есть в "смешанном способе работы" сфер с помощью эмиссионного шейдера. Но я не могу найти ничего больше, чем этот образец, и я также не могу понять части этого образца.
Возможно ли то, что я пытаюсь сделать, относительно простым способом? И если это слишком много, чтобы спросить или неясно, есть ли сайт семьи Stackru, чтобы спросить объяснения по конкретному коду?
1 ответ
Принесите все свои данные частиц в CUDA
память устройства, добавляя ваши частицы к графу сцены optix
, затем назначьте default material
которые должны только визуализировать частицы на экране относительно generated ray
хиты.