Blender Git Loki
Git Commits -> Revision 3bea663
Revision 3bea663 by Nils Thuerey (master) November 5, 2006, 16:30 (GMT) |
- bugfixes #4742 exported normals are now correct #4821 & 4956 for complex movements in/outflows can now also use the animated mesh option - new features * isosurface subdivision: directly creates a finer surface mesh from the simulation data. this increases simulation time and harddisk usage, though, so be careful - usually values of 2-4 should be enough. * fluidsim particles: extended model for particle simulation and generation. When isosurface subdivision is enabled, the particles are now included in the surface generation, giving a better impression of a single connected surface. Note - the particles are only included in the final surface mesh, so the preview surface shows none of the particle effects. * particle loading: different types of particles can now be selected for display: drops, floats and tracers. This is a bit obsolete due to the extensions mentioned above, but might still be useful. Floats are just particles floating on the fluid surface, could be used for e.g. foam. * moving objects impact factor: this is another tweaking option, as the handling of moving objects is still not conserving mass. setting this to zero simply deletes the fluid, 1 is the default, while larger values cause a stronger impact. For tweaking the simulation: if fluid disappears, try increasing this value, and if too much is appearing reduce it. You can even use negative values for some strange results :) - more code cleanup, e.g. removed config file writing in fluidsim.c, added additional safety checks for particles & fluidsim domains (these currently dont work together). I also removed the "build particles" debug message in effects.c (seemed to be unnecessary?). Some more info on the new features: Here are two test animations showing the difference between using the particle generation with isosurface subdivision. This is how it would look with the old solver version: http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_fl6manc4_1noparts.mpg and this with the new one: http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_fl6manc4_2wparts.mpg Both simulations use a resolution of 64, however, the version with particles takes significantly longer (almost twice as long). The .blend file for a similar setup can be found here: http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_testmanc4.blend (Minor Tips for this file: dont enable subdivions of characters until rendering, thus leave off for simulation, as it uses the rendering settings! For making nice pictures switch on subdivion, and OSA.) And here's a picture of old vs. new (for webpage or so): http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_manc4compare.png |
Commit Details:
Full Hash: 3bea663ffa27cab0a60b3ed1ac41d431ce55cecc
SVN Revision: 8751
Parent Commit: 64b9cda
Lines Changed: +2604, -2348
48 Modified Paths:
/intern/elbeem/COPYING (+2, -4) (Diff)
/intern/elbeem/extern/elbeem.h (+10, -4) (Diff)
/intern/elbeem/intern/attributes.cpp (+41, -521) (Diff)
/intern/elbeem/intern/attributes.h (+45, -131) (Diff)
/intern/elbeem/intern/elbeem.cpp (+7, -3) (Diff)
/intern/elbeem/intern/elbeem.h (+10, -4) (Diff)
/intern/elbeem/intern/isosurface.cpp (+534, -194) (Diff)
/intern/elbeem/intern/isosurface.h (+26, -1) (Diff)
/intern/elbeem/intern/loop_tools.h (+4, -0) (Diff)
/intern/elbeem/intern/ntl_blenderdumper.cpp (+46, -23) (Diff)
/intern/elbeem/intern/ntl_blenderdumper.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_bsptree.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_bsptree.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometryclass.h (+8, -1) (Diff)
/intern/elbeem/intern/ntl_geometrymodel.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometrymodel.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometryobject.cpp (+31, -20) (Diff)
/intern/elbeem/intern/ntl_geometryobject.h (+8, -2) (Diff)
/intern/elbeem/intern/ntl_geometryshader.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_lighting.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_lighting.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_matrices.h (+80, -1) (Diff)
/intern/elbeem/intern/ntl_ray.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_ray.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_vector3dim.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_world.cpp (+18, -8) (Diff)
/intern/elbeem/intern/ntl_world.h (+1, -1) (Diff)
/intern/elbeem/intern/parametrizer.cpp (+9, -7) (Diff)
/intern/elbeem/intern/parametrizer.h (+3, -3) (Diff)
/intern/elbeem/intern/particletracer.cpp (+17, -5) (Diff)
/intern/elbeem/intern/particletracer.h (+18, -3) (Diff)
/intern/elbeem/intern/simulation_object.cpp (+61, -52) (Diff)
/intern/elbeem/intern/simulation_object.h (+1, -1) (Diff)
/intern/elbeem/intern/solver_adap.cpp (+81, -65) (Diff)
/intern/elbeem/intern/solver_class.h (+68, -10) (Diff)
/intern/elbeem/intern/solver_init.cpp (+308, -253) (Diff)
/intern/elbeem/intern/solver_interface.cpp (+76, -35) (Diff)
/intern/elbeem/intern/solver_interface.h (+43, -18) (Diff)
/intern/elbeem/intern/solver_main.cpp (+366, -292) (Diff)
/intern/elbeem/intern/solver_relax.h (+12, -1) (Diff)
/intern/elbeem/intern/solver_util.cpp (+437, -337) (Diff)
/intern/elbeem/intern/utilities.cpp (+134, -20) (Diff)
/intern/elbeem/intern/utilities.h (+3, -3) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+3, -1) (Diff)
/source/blender/blenkernel/intern/effect.c (+8, -6) (Diff)
/source/blender/makesdna/DNA_object_fluidsim.h (+3, -0) (Diff)
/source/blender/src/buttons_object.c (+61, -21) (Diff)
/source/blender/src/fluidsim.c (+10, -286) (Diff)
/intern/elbeem/extern/elbeem.h (+10, -4) (Diff)
/intern/elbeem/intern/attributes.cpp (+41, -521) (Diff)
/intern/elbeem/intern/attributes.h (+45, -131) (Diff)
/intern/elbeem/intern/elbeem.cpp (+7, -3) (Diff)
/intern/elbeem/intern/elbeem.h (+10, -4) (Diff)
/intern/elbeem/intern/isosurface.cpp (+534, -194) (Diff)
/intern/elbeem/intern/isosurface.h (+26, -1) (Diff)
/intern/elbeem/intern/loop_tools.h (+4, -0) (Diff)
/intern/elbeem/intern/ntl_blenderdumper.cpp (+46, -23) (Diff)
/intern/elbeem/intern/ntl_blenderdumper.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_bsptree.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_bsptree.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometryclass.h (+8, -1) (Diff)
/intern/elbeem/intern/ntl_geometrymodel.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometrymodel.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_geometryobject.cpp (+31, -20) (Diff)
/intern/elbeem/intern/ntl_geometryobject.h (+8, -2) (Diff)
/intern/elbeem/intern/ntl_geometryshader.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_lighting.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_lighting.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_matrices.h (+80, -1) (Diff)
/intern/elbeem/intern/ntl_ray.cpp (+1, -1) (Diff)
/intern/elbeem/intern/ntl_ray.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_vector3dim.h (+1, -1) (Diff)
/intern/elbeem/intern/ntl_world.cpp (+18, -8) (Diff)
/intern/elbeem/intern/ntl_world.h (+1, -1) (Diff)
/intern/elbeem/intern/parametrizer.cpp (+9, -7) (Diff)
/intern/elbeem/intern/parametrizer.h (+3, -3) (Diff)
/intern/elbeem/intern/particletracer.cpp (+17, -5) (Diff)
/intern/elbeem/intern/particletracer.h (+18, -3) (Diff)
/intern/elbeem/intern/simulation_object.cpp (+61, -52) (Diff)
/intern/elbeem/intern/simulation_object.h (+1, -1) (Diff)
/intern/elbeem/intern/solver_adap.cpp (+81, -65) (Diff)
/intern/elbeem/intern/solver_class.h (+68, -10) (Diff)
/intern/elbeem/intern/solver_init.cpp (+308, -253) (Diff)
/intern/elbeem/intern/solver_interface.cpp (+76, -35) (Diff)
/intern/elbeem/intern/solver_interface.h (+43, -18) (Diff)
/intern/elbeem/intern/solver_main.cpp (+366, -292) (Diff)
/intern/elbeem/intern/solver_relax.h (+12, -1) (Diff)
/intern/elbeem/intern/solver_util.cpp (+437, -337) (Diff)
/intern/elbeem/intern/utilities.cpp (+134, -20) (Diff)
/intern/elbeem/intern/utilities.h (+3, -3) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+3, -1) (Diff)
/source/blender/blenkernel/intern/effect.c (+8, -6) (Diff)
/source/blender/makesdna/DNA_object_fluidsim.h (+3, -0) (Diff)
/source/blender/src/buttons_object.c (+61, -21) (Diff)
/source/blender/src/fluidsim.c (+10, -286) (Diff)