![]() ![]() These can be modified to get more interesting looking simulations. Scene setup and inflows are controlled in Fluid::initScene and at the end of Fluid::update. All the remaining files are utilities to deal with OpenGL. Fluid.cpp, along with all the shader files, performs all of the fluid related work. Main.cpp controls the application setup and invokes the fluid solver. Frames will always be saved at the fluid resolution. This is to allow for fluid resolutions much larger than the screen resolution. Note that the window resolution is independent of the fluid resolution they are controlled individually using the constants GWidth/GHeight for the graphics window and FWidth/FHeight for the fluid grid resolution in Main.cpp. ![]() ![]() If the macro RECORD_FRAMES in Main.cpp is set, the program will save out the individual frames as pngs using lodepng. It really boggles my mind why its lacking when in theory it shouldnt be so difficult as compared to their. I am personally very hopeful that some day in the future that there will be support for even just OpenGL 2.0 directly in Linux. When run, the program will open a graphics window and display a preview of the current simulation progress. As far as I know, there is no support for any form of direct rendering opengl for any Linux distribution. Support for OpenGL 4.3 core profile is required. UsageĪ recent GPU with fresh drivers is necessary to run this application. The makefile in the repository should work on Windows (tested with MinGW) and Linux. The solver features a marker-and-cell grid, vorticity confinement, fluid implicit particle, 3rd order Runge-Kutta advection, a conjugate gradient solver with incomplete Poisson preconditioner, and a heat diffusion/buoyancy model.Ĭompilation requires freeglut and a recent version of GLEW. This project implements a 2D fluid solver completely on the GPU using OpenGL 4.3. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |