Revision: 46813
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46813
Author: genscher
Date: 2012-05-20 17:25:45 +0000 (Sun, 20 May 2012)
Log Message:
-----------
- Use Smoke code from trunk again:
Unforeseen problems: The new code uses hidden arrays, file based functions.
Nils himself describes the code as following in one of his new papers
"Unuseable for rising smoke". What a bummer.
- New approach: Backport features as moving obstacles, preconditioned conjugate
gradient solver, etc.
- This commit also contains the following code:
Better pressure and divergence calculation, idea taken from NVIDIA (graphic
gems #3)
Modified Paths:
--------------
branches/smoke2/intern/smoke/CMakeLists.txt
branches/smoke2/intern/smoke/SConscript
branches/smoke2/intern/smoke/extern/smoke_API.h
branches/smoke2/intern/smoke/intern/smoke_API.cpp
Added Paths:
-----------
branches/smoke2/intern/smoke/intern/EIGENVALUE_HELPER.cpp
branches/smoke2/intern/smoke/intern/EIGENVALUE_HELPER.h
branches/smoke2/intern/smoke/intern/FFT_NOISE.h
branches/smoke2/intern/smoke/intern/FLUID_3D.cpp
branches/smoke2/intern/smoke/intern/FLUID_3D.cpp.bak
branches/smoke2/intern/smoke/intern/FLUID_3D.h
branches/smoke2/intern/smoke/intern/FLUID_3D_SOLVERS.cpp
branches/smoke2/intern/smoke/intern/FLUID_3D_SOLVERS.cpp.bak
branches/smoke2/intern/smoke/intern/FLUID_3D_STATIC.cpp
branches/smoke2/intern/smoke/intern/IMAGE.h
branches/smoke2/intern/smoke/intern/INTERPOLATE.h
branches/smoke2/intern/smoke/intern/LICENSE.txt
branches/smoke2/intern/smoke/intern/LU_HELPER.cpp
branches/smoke2/intern/smoke/intern/LU_HELPER.h
branches/smoke2/intern/smoke/intern/MERSENNETWISTER.h
branches/smoke2/intern/smoke/intern/Makefile.FFT
branches/smoke2/intern/smoke/intern/Makefile.cygwin
branches/smoke2/intern/smoke/intern/Makefile.linux
branches/smoke2/intern/smoke/intern/Makefile.mac
branches/smoke2/intern/smoke/intern/OBSTACLE.h
branches/smoke2/intern/smoke/intern/SPHERE.cpp
branches/smoke2/intern/smoke/intern/SPHERE.h
branches/smoke2/intern/smoke/intern/VEC3.h
branches/smoke2/intern/smoke/intern/WAVELET_NOISE.h
branches/smoke2/intern/smoke/intern/WTURBULENCE.cpp
branches/smoke2/intern/smoke/intern/WTURBULENCE.h
branches/smoke2/intern/smoke/intern/main.cpp_disabled
Removed Paths:
-------------
branches/smoke2/intern/smoke/intern/COPYING
branches/smoke2/intern/smoke/intern/Makefile
branches/smoke2/intern/smoke/intern/README.txt
branches/smoke2/intern/smoke/intern/source/
branches/smoke2/intern/smoke/intern/util/
Modified: branches/smoke2/intern/smoke/CMakeLists.txt
===================================================================
--- branches/smoke2/intern/smoke/CMakeLists.txt 2012-05-20 16:53:34 UTC (rev
46812)
+++ branches/smoke2/intern/smoke/CMakeLists.txt 2012-05-20 17:25:45 UTC (rev
46813)
@@ -24,9 +24,9 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- intern/util
- intern/source
+ intern
../memutil
+ ../../extern/bullet2/src
)
set(INC_SYS
@@ -35,44 +35,68 @@
)
set(SRC
+ intern/EIGENVALUE_HELPER.cpp
+ intern/FLUID_3D.cpp
+ intern/FLUID_3D_SOLVERS.cpp
+ intern/FLUID_3D_STATIC.cpp
+ intern/LU_HELPER.cpp
+ intern/SPHERE.cpp
+ intern/WTURBULENCE.cpp
intern/smoke_API.cpp
-
- intern/source/advectionplugins.cpp
- intern/source/animplugins.cpp
- intern/source/conjugategrad.cpp
- intern/source/fileio.cpp
- intern/source/fluidsolver.cpp
- intern/source/glutgui.cpp
- intern/source/guihelpers.cpp
- intern/source/initplugins.cpp
- intern/source/smoke.cpp
- intern/source/poissonsolvers.cpp
- intern/source/smokeplugins.cpp
- intern/source/solverinit.cpp
- intern/source/solverparams.cpp
- intern/source/stdplugins.cpp
- intern/source/vortexpart.cpp
- intern/source/vortexplugins.cpp
-
- intern/util/globals.cpp
- intern/util/paramset.cpp
+
+ extern/smoke_API.h
+ intern/EIGENVALUE_HELPER.h
+ intern/FFT_NOISE.h
+ intern/FLUID_3D.h
+ intern/IMAGE.h
+ intern/INTERPOLATE.h
+ intern/LU_HELPER.h
+ intern/MERSENNETWISTER.h
+ intern/OBSTACLE.h
+ intern/SPHERE.h
+ intern/VEC3.h
+ intern/WAVELET_NOISE.h
+ intern/WTURBULENCE.h
+ intern/tnt/jama_eig.h
+ intern/tnt/jama_lu.h
+ intern/tnt/tnt.h
+ intern/tnt/tnt_array1d.h
+ intern/tnt/tnt_array1d_utils.h
+ intern/tnt/tnt_array2d.h
+ intern/tnt/tnt_array2d_utils.h
+ intern/tnt/tnt_array3d.h
+ intern/tnt/tnt_array3d_utils.h
+ intern/tnt/tnt_cmat.h
+ intern/tnt/tnt_fortran_array1d.h
+ intern/tnt/tnt_fortran_array1d_utils.h
+ intern/tnt/tnt_fortran_array2d.h
+ intern/tnt/tnt_fortran_array2d_utils.h
+ intern/tnt/tnt_fortran_array3d.h
+ intern/tnt/tnt_fortran_array3d_utils.h
+ intern/tnt/tnt_i_refvec.h
+ intern/tnt/tnt_math_utils.h
+ intern/tnt/tnt_sparse_matrix_csr.h
+ intern/tnt/tnt_stopwatch.h
+ intern/tnt/tnt_subscript.h
+ intern/tnt/tnt_vec.h
+ intern/tnt/tnt_version.h
)
# quiet -Wundef
add_definitions(-DDDF_DEBUG=0)
if(WITH_OPENMP)
- add_definitions(-DDDF_OPENMP=1)
+ add_definitions(-DPARALLEL=1)
else()
- add_definitions(-DDDF_OPENMP=0)
+ add_definitions(-DPARALLEL=0)
endif()
-#if(WITH_FFTW3)
-# add_definitions(-DWITH_FFTW3)
-# list(APPEND INC
-# ${FFTW3_INCLUDE_DIRS}
-# )
-#endif()
+if(WITH_FFTW3)
+ add_definitions(-DWITH_FFTW3)
+ list(APPEND INC
+ ${FFTW3_INCLUDE_DIRS}
+ )
+endif()
blender_add_lib(bf_intern_smoke "${SRC}" "${INC}" "${INC_SYS}")
Modified: branches/smoke2/intern/smoke/SConscript
===================================================================
--- branches/smoke2/intern/smoke/SConscript 2012-05-20 16:53:34 UTC (rev
46812)
+++ branches/smoke2/intern/smoke/SConscript 2012-05-20 17:25:45 UTC (rev
46813)
@@ -2,20 +2,21 @@
Import ('env')
sources = env.Glob('intern/*.cpp')
-sources += env.Glob('intern/util/*.cpp')
-sources += env.Glob('intern/source/*.cpp')
incs = ''
-defs = ' DDF_GLUTGUI=0 '
+defs = ''
if env['WITH_BF_OPENMP']:
if env['OURPLATFORM'] == 'linuxcross':
incs += ' ' + env['BF_OPENMP_INC']
- defs += ' DDF_OPENMP=1'
+ defs += ' PARALLEL=1'
incs += ' ' + env['BF_PNG_INC'] + ' ' + env['BF_ZLIB_INC']
-incs += ' intern intern/util intern/source '
+incs += ' intern ../../extern/bullet2/src ../memutil ../guardealloc '
+if env['WITH_BF_FFTW3']:
+ defs += ' WITH_FFTW3'
+ incs += env['BF_FFTW3_INC']
env.BlenderLib ('bf_intern_smoke', sources, Split(incs), Split(defs),
libtype=['intern'], priority=[40] )
Modified: branches/smoke2/intern/smoke/extern/smoke_API.h
===================================================================
--- branches/smoke2/intern/smoke/extern/smoke_API.h 2012-05-20 16:53:34 UTC
(rev 46812)
+++ branches/smoke2/intern/smoke/extern/smoke_API.h 2012-05-20 17:25:45 UTC
(rev 46813)
@@ -53,6 +53,8 @@
float *smoke_get_velocity_y(struct FLUID_3D *fluid);
float *smoke_get_velocity_z(struct FLUID_3D *fluid);
+float *smoke_get_pressure(struct FLUID_3D *fluid);
+
/* Moving obstacle velocity provided by blender */
void smoke_get_ob_velocity(struct FLUID_3D *fluid, float **x, float **y, float
**z);
@@ -61,7 +63,6 @@
float *smoke_get_force_z(struct FLUID_3D *fluid);
unsigned char *smoke_get_obstacle(struct FLUID_3D *fluid);
-unsigned char *smoke_get_obstacle_anim(struct FLUID_3D *fluid);
size_t smoke_get_index(int x, int max_x, int y, int max_y, int z);
size_t smoke_get_index2d(int x, int max_x, int y);
Deleted: branches/smoke2/intern/smoke/intern/COPYING
===================================================================
--- branches/smoke2/intern/smoke/intern/COPYING 2012-05-20 16:53:34 UTC (rev
46812)
+++ branches/smoke2/intern/smoke/intern/COPYING 2012-05-20 17:25:45 UTC (rev
46813)
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs