NVIDIA CUDA Accelerated Particle Engine in OpenGL - 12 Million Particles

Поделиться
HTML-код
  • Опубликовано: 24 окт 2024
  • This is a particle engine I wrote using OpenGL and CUDA to update the particles. You can download it and try it out yourself here:
    www.craigmouser...
    (You need an NVIDIA graphics card, 8 series or newer)
    or download the source code and check it out here:
    www.craigmouser...
    (It's fairly well documented, hopefully you can figure it out)
    My goal was 750,001 particles, I am running over 12 million here.
    The song is Snooze by DJ Stearny.

Комментарии • 34

  • @mouser58907
    @mouser58907  12 лет назад +1

    Hey Fogglee, I believe you mean you put 900 in the settings.txt. This is actually a multiplier by 4096. I did this because it runs most efficiently in certain multiples. If this is the case, you are actually running 3,680,400. You can see this in the command prompt window. Also, use the arrow keys to change settings. You can remove gravity this way. Hope you enjoy.

  • @ParchmentTwiser
    @ParchmentTwiser 13 лет назад

    Beautiful! I absolutely adore particle effects, and you did a brilliant job on these! CUDAs to you! =P

  • @mouser58907
    @mouser58907  13 лет назад

    @TheNordbjerg When I originally wrote it I was rendering them in 3D but only updating them in the two directions. Since then I have upgraded it to run in 3D. I did this because I had an 8800 GTS at the time and I needed more registers to update the particles in 3D, but now with my big bad 480 I can run it in 3D like a pro!

  • @45shfifty
    @45shfifty 13 лет назад

    @changestyleman because a GTX480 is double the card of a GTX560 Ti, and when you SLi or CrossFire 2 cards together you don't get an even double performance, it's like %60-75 increase

  • @mouser58907
    @mouser58907  13 лет назад

    @moviemakersdj I think it should. Make sure your drivers aren't too far out of date and download the binaries in the first link in this videos info and give it a try.

  • @mouser58907
    @mouser58907  14 лет назад

    @MasterJocke117 The way I wrote it there aren't any emitters, all the particles just spawn initially and live the whole time. You could definitely write it to use multiple emitters if you wanted though.

  • @Megasyl200
    @Megasyl200 9 лет назад +2

    Great work, the result is really beautiful.
    Could you possibly share the code ? or a version that allow us to play with physics. Also, the program can run a maximum of 4095*4096 (16 773 120) particles. One more and it crash.

  • @JoakimRosenstam
    @JoakimRosenstam 14 лет назад

    @mouser58907 Ah I see, I did the same thing to the particles I made in XNA. Great stuff anyways, really inspiring!

  • @elfusortega
    @elfusortega 14 лет назад

    Totally awesome!!

  • @JoakimRosenstam
    @JoakimRosenstam 14 лет назад

    Cool showreal, I feel like need to make some particles in OpenGL now :P Can you have multiple emitters or is there just one?

  • @marianotrebino6027
    @marianotrebino6027 8 лет назад

    Good job man!!!! Can you tell me what's the behavior that the particles follow? It looks that there are collisions with the boundaries of the windows and also you apply some kind of "attraction" with your mouse. Did you follow a physics model? If you can share some resource about it that would be awesome!!! Thank you

  • @dhscaresme
    @dhscaresme 14 лет назад

    That's very cool, is it rendered in 3 dimensions or 2? I'm making my first particle engine now but it won't be using the graphics card! Maybe after I learn some more...

  • @changestyleman
    @changestyleman 13 лет назад

    Why i have Two Gtx560 ti and i have 9 fps with 700000 particles?

  • @TheLawnWanderer
    @TheLawnWanderer 12 лет назад

    im running 13million like a boss.

  • @anitox
    @anitox 14 лет назад

    Can you make this into a screensaver for us?

  • @chrisxdeboy
    @chrisxdeboy 14 лет назад

    Really cool, unfortunately, it doesn't want to play at a resolution other than 360p so all i see is lossy little "globs" of color :(

  • @PaBackstrom
    @PaBackstrom 14 лет назад

    Det där såg jag på Amigan på 80-talet

  • @changestyleman
    @changestyleman 13 лет назад

    AH... Why it runs bad also with a single gtx560ti???
    you have a gtx480 and you play it with 12 millions of particles!! i can play it only with a very low number of particles.... (with 384 Cuda cores :/

  • @indigo-lily
    @indigo-lily 12 лет назад

    I played with this for too long and now my eyes are bleeding

  • @ParchmentTwiser
    @ParchmentTwiser 13 лет назад

    I'd love to see this rendered on a GTX 580

  • @ScratThunder
    @ScratThunder 13 лет назад

    so f***** nice

  • @ghostxop2101
    @ghostxop2101 13 лет назад

    Hm, shave off 3 million of the particles and you may be able to see a higher frame rate. Just increase the particle size. I dont understand why you needed to go so high.

  • @mvrak
    @mvrak 14 лет назад

    @anitox screensavers that max your cpu and gpu are an extremely bad idea

  • @fogglee
    @fogglee 12 лет назад

    would be better without gravity I think, and its pretty slow, I only have a GT540m but without using cuda I can run 2,000,000 at the same framerate yours can run 900 :/

  • @benediktbre3
    @benediktbre3 11 лет назад

    3500x4096 Particles :D
    And it runs with 30-40 fps

  • @draftube
    @draftube 14 лет назад

    @chrisxdeboy Its not much better at 720p either

  • @PivotDXer
    @PivotDXer 11 лет назад

    14,000,000 particles on GTX 660, average FPS 30.

  • @mouser58907
    @mouser58907  13 лет назад

    @changestyleman
    A lot of people with multilple GPU's say it doesn't run well, I tell you what, buy me another 480 and I'll fix the code ;)

  • @smallfox8623
    @smallfox8623 12 лет назад

    560Ti is better than 560 no Ti, i would say that it's not junk.

  • @dhscaresme
    @dhscaresme 14 лет назад

    nevermind, i read your code!

  • @marek_vybiral
    @marek_vybiral 11 лет назад

    NICE (y) :)

  • @MedievalSolutions
    @MedievalSolutions 11 лет назад

    Ready to try it with GTX770 *mad face*