Отображение X частиц с помощью Optix 5 - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь отобразить 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, чтобы спросить объяснения на конкретный кусок кода?

1 Ответ

0 голосов
/ 14 сентября 2018

Перенесите все свои данные частиц в память устройства CUDA, добавив свои частицы к графу сцены optix.затем присвойте default material, который должен отображать только частицы на экране относительно ударов generated ray.

...