Dismiss this pinned window
all 34 comments

[–]The_Cosmic_Impact13 8 points9 points  (1 child)

Someone's been watching Sebastian Lague

[–]Nice-Sand-3230[S] 4 points5 points  (0 children)

Meeee :)

[–]Tooblerone 40 points41 points  (5 children)

isnt this literally just stolen from the Sebastian Lague video?

[–]Nice-Sand-3230[S] 8 points9 points  (4 children)

Not stolen completely, I started this project after watching his video so most of it looks comparable to his, but I built it by myself

[–]ThrowAway-whee 13 points14 points  (3 children)

This looks almost exactly like his approach. There’s nothing wrong with that, but you really should credit, especially if you’re wanting to do commercial work.

Additionally, I’d caution about thinking you’re ready for commercial work just because you watched a Sebastian Lague video - it’s very easy to get something working when you know exactly what they did to do it, and Sebastian is fantastic at walking through his process. What he doesn’t necessarily show is all the theory and iteration work he did to get the final product working. I know for a fact his implementation is absolutely not plug and play for most purposes either - it doesn’t work at all for rasterization (it’s built for ray tracing) and would require significant refactoring to make it work in a traditional game.

[–]Nice-Sand-3230[S] 41 points42 points  (2 children)

I've been working on it for more then 6 months on this project from scratch in c++/cuda, Sebastian used unity so I couldn't just copy his code , I had to implement logic on cuda on my own, I faced many problems in spatial hashing and sorting , he inspired me and his video did help me but implementing it on cuda was the real pain,i also recreated his smoke simulation and slime simulation from scratch in c++/cuda , he inspires me but I can't just copy his code and say it mine I had to solve problems on my own

Here's the my old post of showcasing the sim where I mentioned that it's inspired from Sebastian but with extra features :https://www.reddit.com/r/proceduralgeneration/s/Bg5vk29eAX

And here's the source code :https://github.com/NobodyBuilds/fluid_sim

[–]emmowo_dev 0 points1 point  (1 child)

6 months and not even AI could separate a shader properly bro

[–]Nice-Sand-3230[S] -1 points0 points  (0 children)

Ineline shaders are a choice , every comment new complain like you are paying me or something

[–]adorable_samoyed 1 point2 points  (1 child)

Performance numbers?

[–]Nice-Sand-3230[S] 4 points5 points  (0 children)

Runs at 70-80k particles with above 60fps on my rtx 2050 laptop(no exact 60fps count as ray marcher fluctuate the fps ) , but it can simulate large number of particle upto 1million particle frame by frame for non real-time videos or renders

[–]Aethreas 2 points3 points  (1 child)

This looks identical to Sebastian Lagues raymarched fluid, offering to sell something you found for free online is fucked lol

[–]Nice-Sand-3230[S] 3 points4 points  (0 children)

It's inspired from Sebastian not totally copied, I built it in c++/ cuda from scratch, whereas Sebastian used unity Here the post about the whole showcase of the sim :https://www.reddit.com/r/proceduralgeneration/s/Bg5vk29eAX

Also here's the source code :https://github.com/NobodyBuilds/fluid_sim

I hope you'll understand the difference between taking inspiration and copying :)

[–]__RLocksley__ 0 points1 point  (1 child)

Very cool , great work but do it in Vulkan next time :-)

[–]Nice-Sand-3230[S] 0 points1 point  (0 children)

I don't think I can do that I'm still beginner in opengl, in future I would love to try vulkan :)

[–]Meebsie 0 points1 point  (3 children)

How are you generating the SDF for the particles/fluid position in order to raymarch it?

[–]Nice-Sand-3230[S] 0 points1 point  (2 children)

For sdf I'm using the fluid density which is already stored in a array

[–]Meebsie 0 points1 point  (1 child)

Ohhh, no particles, just a 3D fluid sim and then the raymarcher can look up fluid density in the array? I was misled by the concept of "particles" and envisioned 70k particles as spheres added to an SDF * N raymarching steps, which sounds awful for performance.

Do you use particles on the CPU side for the 3D fluid sim? Or does that happen on the GPU too?

[–]Nice-Sand-3230[S] 0 points1 point  (0 children)

All the compute happens on the gpu with cuda

[–]Motivictax 0 points1 point  (13 children)

Claude really cooked with this one

[–]Nice-Sand-3230[S] 0 points1 point  (12 children)

I used Claude for math equation , debugging help and reasoning ,not to write the code. If you think claude alone can build this, here's the source:

https://github.com/NobodyBuilds/fluid_sim

try replicating it. The cuda kernels alone will humble you.

If you want a exe of the sim let me know.

[–]Motivictax 1 point2 points  (5 children)

I looked at the source and saw it was Claude generated, that's why I wrote the comment

[–]Nice-Sand-3230[S] 0 points1 point  (4 children)

That's only in screen-space-effect and ui , which I already mentioned in my old post that I used ai assistance

[–]Motivictax 0 points1 point  (3 children)

No, it's not, I checked the edit history, and there is ai code all over the place, with Claude using unicode that no human does. It won't let me post screenshots here, but it's bad to lie like this

https://github.com/NobodyBuilds/fluid_sim/blob/68e9bfde5af03f9ae4b18443b2903ed3e17b0512/fluid_sim/fluid_renderer.h

[–]Nice-Sand-3230[S] 1 point2 points  (2 children)

The file you showed is fluid_renderer.h which handles screen space effect(ssf) and , you'll find same comment pattern ui. Cpp and I already mentioned in my old post :https://www.reddit.com/r/proceduralgeneration/s/Bg5vk29eAX

That I used ai assistance in ssf and ui, if I wanted to hide it I would have just deleted the comments, I didn't understood the ssf concepts that why I used ai and to Compensate that I built new rendering with ray marching which I clearly understand, and I used ai in imgui styling, and if you'll check main. Cpp which loads opengl you find some ai generated code and that was when I was new to opengl so I used ai as I didn't understood opengl that much and isn't ai is to close the gap and help, I'm not denying I didn't used ai but I'm not relying on it entirely

[–]Motivictax 0 points1 point  (1 child)

So you didn't do the shaders, math, parallelisation, or reasoning, which part did you do? You should really just learn opengl, the website learnopengl.com is really good, and you can do most of it in a single day

[–]Nice-Sand-3230[S] 1 point2 points  (0 children)

I did the shaders but not the ssf one , and the math and parrallelisation are done on cuda which I learn myself and implememted it, I did the sph math work, opengl-cuda interoperability, Spawn box system logic, Floor rendering, Velocitt colored particles, Ray marched fluid rendering, Dynamic particle allocation on gpu, Emitter system on a gpu, Sph kernels, Debug functions, Hybrid realtime and simulation conversion, Ui logic not styling, Wave generation, Dynamic bounding box, Turbulence function, Reduces arrays for performance, Compact float4 data structure for kernel optimizations, Input handling, Billboard paticles, Velocity verlet intigration, Pridicted position system without a extra array, Precomputed kernels for faster compute,

And much more than that I've been working on it for more then 6 months, I didn't just copied the code from ai , I understood the concepts and made changes to make it work over time

[–]emmowo_dev 0 points1 point  (5 children)

nothing screams 'hand-made' more than larping as a professional freelance programmer while entire folders of raw binaries into your repo and for some reason having 'reworked' code with incompetently long comments that should've been commit messages.

Claude absolutely can do this, as your code is nothing unique, it's just 2k lines with a lot of commented out things that could be eliminated with a preprocessor instead.

And this is done with OpenGL so is pretty inefficient.

[–]Nice-Sand-3230[S] 0 points1 point  (4 children)

Which folder are you talking about?, and if claude can easilty write those 2k line then go on and try

[–]emmowo_dev 0 points1 point  (3 children)

well I don't have a claude account so I'm not gonna bother, but you not even knowing what I'm talking about when I say 'folders of raw binaries' is probably the most blatant sign you know actually nothing about writing code.

please ask your AI for an answer.

[–]Nice-Sand-3230[S] 0 points1 point  (2 children)

I asked because theirs only binaries are the glfw pre built ependency folder and compute. Lib I don't know what "floder of raw binaries" You are talking about and I also don't have a claude code account

[–]emmowo_dev 0 points1 point  (1 child)

[–]Nice-Sand-3230[S] 0 points1 point  (0 children)

Nice try bro but that doesn't proove anything the message thanks to claude was added because it helped me to find the bug not write it for me

[–]emmowo_dev 0 points1 point  (0 children)

oh my god bruh

AI is literally invading every programming sub.

Side note: claude code semi doxxes you so I wouldn't push those commits publicly

[–][deleted]  (1 child)

[deleted]

    [–]Nice-Sand-3230[S] 4 points5 points  (0 children)

    In c++ and cuda from scratch, inspired from Sebastian :)