This video was posted 2 years ago and even at the time was running on very dated hardware. Today similar simulations can be pushed to an order of magnitude more particles.
I complained about ATI because their then-current generation of video cards didn't support VTF despite it being a compulsory part of the dx9 spec. All cards since then support it as far as I know.
I can't give you the source because I don't have it. I lost most of my XNA work with a broken hard drive.
This is beautiful! You said the rendering is done on a Nvidia card. Is there any particular part of the hardware acceleration that is responsible for this. Is there a particular library you're using? I love the flow patterns - you get very real boundary layers that just don't show up in nearly any fluid/particle systems in real-time. There's got to be some sort of efficient wave-equation being used (from the looks of the discrete particle "waves").
There's no wave equation at all here, its some very simple linear motion that was tweaked to look nice. Today you can do this on any reasonably modern graphics card, ATI or Nvidia. This was done in XNA with vertex texture fetch, but from what I understand DX10 offers an even better way to do this - check out the video response linked here.
Thats overly simplistic, but i do assume to something "like" that can be found somewhere in the code. To achieve something like this would need extensive use of vectors and vector operations to simulate the forces caused by the downwards gravity and the inward pull of the mouse cursor.
I don't think the math is all that impressive or would be that difficult to understand, but the polish is what makes this video complete utter awesome.
Just looking at what he's got, my guess is that his "cursor attraction" force isn't like gravity (An inverse-square relation), but simply an inverse relation (Some things just don't happen in an inverse square relation).
Textures in Vertex Shaders? Yeah, I know what you mean! My landscape is sooo much more complicated. I read a interview with them and they said "It would never be used." Reason why I recommend NVidia to everyone.
A floating point texture is used to represent particle data. Each pixel represents a position and velocity. The texture is drawn to itself with a shader that updates the acceleration/velocities.
Meanwhile there's a prefab mesh with a bunch of quads is sent to the gpu with a vertex shader that does vertex texture fetch from the floating point texture. Voila, easy 2d system. A 3d one is a bit more fiddly as it requires more textures.
just wondering. what is this loophole in sm2? i have a gpu fire simulation working well on nvidia cards but not ati cards so i've been looking everywhere to find a solution.
Pentium4 2ghz, gf6600. In other words, very poor compared to a modern computer. I've run the sim with over 1 million particles at 60+ fps on a newer computer.
This has been flagged as spam show
ht tp://ww w.youtube.com/watch?v=ACHJ2rGyP10&list=FLcAI-MHNWSVc&index=37 much better
Novotnajz 5 months ago
Wow the NVIDIA fanboy is strong here.
fraserofthenight 7 months ago
love this song!
NickEnchev 9 months ago
This rocks.
Did u code this in c#?
carlitrosss 1 year ago
Just a few things:
This video was posted 2 years ago and even at the time was running on very dated hardware. Today similar simulations can be pushed to an order of magnitude more particles.
I complained about ATI because their then-current generation of video cards didn't support VTF despite it being a compulsory part of the dx9 spec. All cards since then support it as far as I know.
I can't give you the source because I don't have it. I lost most of my XNA work with a broken hard drive.
GearGOD 1 year ago
@GearGOD
no need for the code what was the general idea did you make a wind factor?
mazdaplz 1 year ago
This is beautiful! You said the rendering is done on a Nvidia card. Is there any particular part of the hardware acceleration that is responsible for this. Is there a particular library you're using? I love the flow patterns - you get very real boundary layers that just don't show up in nearly any fluid/particle systems in real-time. There's got to be some sort of efficient wave-equation being used (from the looks of the discrete particle "waves").
I would love to play around with that.
david0aloha 1 year ago
@david0aloha
There's no wave equation at all here, its some very simple linear motion that was tweaked to look nice. Today you can do this on any reasonably modern graphics card, ATI or Nvidia. This was done in XNA with vertex texture fetch, but from what I understand DX10 offers an even better way to do this - check out the video response linked here.
GearGOD 1 year ago
@GearGOD What is VTF, and how in the world did you code this in XNA (HLSL?)
BlueRajasmyk 8 months ago
Wtf is this ATi hating? It's not like only nVidias can run loads of particles.
msqrt 1 year ago
lol, give me this program!!!^^
Arishava 1 year ago
what FPS do you get for this, i see it a little bit sketchy
skate2spellgirl 1 year ago
nice
ndrunkenTeddy 1 year ago
Might I see the source code? I can credit you in my project. \o/
QRebound 1 year ago
Looks amazing. and looks alot like water!
DerangedGames 1 year ago
Wow, that's so awesome...
Once im done making this 2D game with XNA ima head on to 3D and cool effect thingies :D
HotNoob 1 year ago
wow good work, nice gpu calculation.
CSMHD 1 year ago
thats really fucking cool!
pobabilly you have a nasa computer with physx 9000,1!
ilhadosmacacos 1 year ago
I want that on my screensaver :)
guert2000 1 year ago
Beautiful..
byteXI 2 years ago
Do you run this on a normal desktop machine?
JanitorMaster 2 years ago
Wow, that's real time.
ninjafrank1337 2 years ago
gorgeous! Any chance of seeing source code?
mouser58907 2 years ago
Yeah I just found out my shitty ATI-powered laptop doesn't have vertex texture fetch either. I should have gotten nvidia.
digitaldud 2 years ago
I made a similar app too,
try it out in real time:
blood2oo1,atw,hu
BlooD2oo1 2 years ago
Enter here to get virus!
PontusM4gnusson 2 years ago
It's very nice!
BlooD2oo1 2 years ago
Woa nice!
suggie1337 2 years ago
:o Wow nice! And thank you so very much ATI because this wouldn't be amazing or anything in commercial software.
bcapecci 2 years ago 4
im guessing you did something like this:
(1 / distanceFromMouse) * gravitationalPull
DamianProgrammer 2 years ago
Thats overly simplistic, but i do assume to something "like" that can be found somewhere in the code. To achieve something like this would need extensive use of vectors and vector operations to simulate the forces caused by the downwards gravity and the inward pull of the mouse cursor.
I don't think the math is all that impressive or would be that difficult to understand, but the polish is what makes this video complete utter awesome.
Dgamer5000 2 years ago
The thing that puzzles me is how they fit 750k particles without lag, I made something like that, exept its only about 17k particles.
DamianProgrammer 2 years ago
Just looking at what he's got, my guess is that his "cursor attraction" force isn't like gravity (An inverse-square relation), but simply an inverse relation (Some things just don't happen in an inverse square relation).
I would be curious the FPS he is getting.
Exceptionally pretty though. :)
Riebart 2 years ago 6
Wow, That is amazing *watches again*
SumN3rd 2 years ago 3
I want to have sex with this video.
Dgamer5000 2 years ago
Screw ses with it. I want to have babies ;p
rogacz86 2 years ago
thats sick good job
icoo44 2 years ago
Textures in Vertex Shaders? Yeah, I know what you mean! My landscape is sooo much more complicated. I read a interview with them and they said "It would never be used." Reason why I recommend NVidia to everyone.
moitoius 2 years ago
Amazing!
btw whats the name of the song?
arschochse 3 years ago
crystal method - born too slow
TheNight999 2 years ago
im still wondering how you did that
DamianProgrammer 3 years ago
ooooooh, i see how you did it, the closer the particles are to the mouse the quicker they acelerate toward it, i think, please reply
DamianProgrammer 3 years ago 2
Oh, nice. I was wondering too. I'd +1 you but my firefox is broken on this PC.
SoraCross 3 years ago 2
thx, lol?
DamianProgrammer 3 years ago
How did you make it efficient? I have tried stuff with particles, but I can't get them to interact efficiently.
luketheduke0 3 years ago
I think with this many particles you'd want to use GPU shaders instead of using the CPU to calculate particle physics.
tl:dr version: I HAVE NO IDEA
cyborgtroy 3 years ago
So you think it would be possible to use that GPU shader in something like XNA?
luketheduke0 3 years ago
Oh, dur-da-dur, it says that on the title.
luketheduke0 3 years ago
Of course its possible.
A floating point texture is used to represent particle data. Each pixel represents a position and velocity. The texture is drawn to itself with a shader that updates the acceleration/velocities.
Meanwhile there's a prefab mesh with a bunch of quads is sent to the gpu with a vertex shader that does vertex texture fetch from the floating point texture. Voila, easy 2d system. A 3d one is a bit more fiddly as it requires more textures.
GearGOD 3 years ago
MAN!!! this is so AMAZING!!! very cool!.
what is your experience in c #? how long you program in C #?
very cool video man! good work!
xfxeduardointel10 3 years ago
Dude this is truly amazing good work!
ezza297 3 years ago
just wondering. what is this loophole in sm2? i have a gpu fire simulation working well on nvidia cards but not ati cards so i've been looking everywhere to find a solution.
kotsoft 3 years ago
Vertex texture fetch.
If you post your shader code somewhere I might be able to tell you if there's anything wrong-looking.
GearGOD 3 years ago
:30 was the best. where the hell can i get this?
kingcol252 3 years ago
What system specs was this run on?
kraelen 3 years ago
Pentium4 2ghz, gf6600. In other words, very poor compared to a modern computer. I've run the sim with over 1 million particles at 60+ fps on a newer computer.
GearGOD 3 years ago
holy shit! this was amazing!!!!!!!!!!!!! :O
alexjo013 3 years ago
One of the coolest effects i´ve seen so far, codet with xna!
dexter2k6 3 years ago
wow great particles !!!!
stuart12926 3 years ago
Holy fuck that's sweet!
Impressive algorithm, too!
Enigma415 3 years ago
im not a big fan of ATI, but this is very impressive
sorrow1989 3 years ago
FUCK ATI (why wont they let it be used)
bloodelfpallie 3 years ago
ATI used a loophole in the shader model 2 spec to avoid having to support this even though its mandatory for any card claiming to support sm2.
GearGOD 3 years ago
arrgh someone should make a petition
bloodelfpallie 3 years ago
Wow, that's very shiny.
Very.
AndrewHeaford 3 years ago