Commit Graph

639 Commits

Author SHA1 Message Date
Jens Verwiebe
f3e39fc8c9 OSX/cmake: don´t build target extractpyzip for MODULE 2012-01-17 13:11:53 +00:00
Sergey Sharybin
e81f2853c8 Carve booleans library integration
==================================

Merging Carve library integration project into the trunk.

This commit switches Boolean modifier to another library which handles
mesh boolean operations in much stable and faster way, resolving old
well-known limitations of intern boolop library.

Carve is integrating as alternative interface for boolop library and
which makes it totally transparent for blender sources to switch between
old-fashioned boolop and new Carve backends.

Detailed changes in this commit:

- Integrated needed subset of Carve library sources into extern/
  Added script for re-bundling it (currently works only if repo
  was cloned by git-svn).
- Added BOP_CarveInterface for boolop library which can be used by
  Boolean modifier.
- Carve backend is enabled by default, can be disabled by WITH_BF_CARVE
  SCons option and WITH_CARVE CMake option.
- If Boost library is found in build environment it'll be used for
  unordered collections. If Boost isn't found, it'll fallback to TR1
  implementation for GCC compilers. Boost is obligatory if MSVC is used.

Tested on Linux 64bit and Windows 7 64bit.

NOTE: behavior of flat objects was changed. E.g. Plane-Sphere now gives
      plane with circle hole, not plane with semisphere. Don't think
      it's really issue because it's not actually defined behavior in
      such situations and both of ways might be useful. Since it's
      only known "regression" think it's OK to deal with it.

Details are there http://wiki.blender.org/index.php/User:Nazg-gul/CarveBooleans

Special thanks to:

- Ken Hughes: author of original carve integration patch.
- Campbell Barton: help in project development, review tests.
- Tobias Sargeant: author of Carve library, help in resolving some
                   merge stoppers, bug fixing.
2012-01-16 16:46:00 +00:00
Brecht Van Lommel
3b12a4b92b Fix for standalone bpy module building link errors on Mac.
It seems to be working now, however make sure to build against the exact same
python version as the one you will use it with, the version in the lib/darwin*
directory is likely to differ from python installed on your system.
2012-01-16 14:13:41 +00:00
Campbell Barton
535d27dac2 when building blender as a py module use add_library(... MODULE on all systems, was SHARED on linux/windows. 2012-01-11 00:09:46 +00:00
Jens Verwiebe
538a9a2fd3 OSX: cleanup for cmake MODULE compile, not working yet, needs more investigation 2012-01-10 19:01:27 +00:00
Jens Verwiebe
68a2ac668e OSX: fix compiling Blender as MODULE 2012-01-10 16:47:20 +00:00
Campbell Barton
7f555daa64 print message for unknown args to make it clear that these are not recognized. 2012-01-05 11:02:27 +00:00
Alexander Kuznetsov
4b9457dd4a Patch is partially made by Pelle Johnsen. Thanks!
This patch enables search for specific libraries for vc2010 using "set_lib_path" macro
If *x* library or path exists in lib/win___/vc2010/*x* , vc2010 will use it. If not, compiler will use standard libraries.
It can be easily extended to gcc.

The function is enabled for:
openCollada
openExr
Python
openImageIO

The different libraries are needed for different compilers because C++ was used. There is no standard for lib's C++ structure/functions' names.

Actual libs will follow
2011-12-30 22:10:48 +00:00
Nicholas Bishop
289c8b5758 Add remesh modifier (dual contouring).
This patch adds a new remeshing modifier. The algorithm is based on
the paper "Dual Contouring of Hermite Data", and the implementation
was contributed to Blender by Dr. Tao Ju.

The contributed code is in intern/dualcon, and was modified to compile
under gcc and work on 64-bit systems. Files not needed for Blender
were removed and a small C wrapper was added in order to interface it
with Blender. The rest of the patch is just standard modifier stuff.

Reviewed by Sergey, code review link:
http://codereview.appspot.com/5491053/

The remesh icon was contributed by Zafio:
http://blenderartists.org/forum/showthread.php?240751-Request-for-modifier-icon/page2.
Thanks to everyone in that thread for the icon proposals and
discussion.

Documentation and examples on the Blender wiki:
http://wiki.blender.org/index.php/User:Nicholasbishop/RemeshModifier

In case the history is needed for anything, check the remesh-modifier
branch of this git repository:
https://gitorious.org/~nicholasbishop/blenderprojects/nicholasbishop-blender
2011-12-30 21:11:40 +00:00
Sergey Sharybin
a0e62e77d7 Update build files to use new OpenAL libraries 2011-12-27 09:37:19 +00:00
Campbell Barton
986e62f3b6 fix for a bug in mathutils when a vector was accessing a matrix and the matrix size increased, future access too the vector would write past the allocated bounds. now raise an exception. 2011-12-26 00:05:41 +00:00
Brecht Van Lommel
2777ba097f Fix linux linking issue with md5 commit. 2011-12-21 14:35:48 +00:00
Thomas Dinges
b66c87231a * Changes for static win32 png libs. 2011-12-19 19:46:07 +00:00
Campbell Barton
6736576f6d replace FILE_MAXDIR + FILE_MAXFILE with FILE_MAX 2011-11-26 04:07:38 +00:00
Campbell Barton
df22957bfc image format arg parsing for creator.c
move these checks from creator into BKE's image.c, this way we dont need the defines for creator, scons was missing DDS, HDR & Cineon  for example and nobody noticed.
2011-11-24 05:18:26 +00:00
Campbell Barton
743d2f8c0f rename image type defines to be less ambiguous, also set BMP as not supporting alpha (it reads but cant write) 2011-11-22 00:35:26 +00:00
Campbell Barton
30fd1ab523 replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to avoid confusion with ImageFormatData.depth 2011-11-21 20:47:19 +00:00
Campbell Barton
0e2c8cdcdd move image settings into their own structure so the interface can be shared where image saving settings are needed.
currently file out node and render output share this struct & UI.
2011-11-21 20:19:58 +00:00
Antony Riakiotakis
acf30220c9 Replace "&" with "and" since on windows it separates the string and causes errors in the console. 2011-11-20 00:37:24 +00:00
Campbell Barton
8c6057d5e3 exclude addons_contrib/ for release builds. 2011-11-17 19:43:59 +00:00
Campbell Barton
d90e3759bc centralize some of the came install commands, were being copied between osx/win/linux 2011-11-17 18:23:34 +00:00
Brecht Van Lommel
0792ab3652 Fix #29232: on background render where it could not find the .blend file, the
default cube would be rendered instead, now stops processing arguments after
failed file load.
2011-11-15 23:03:35 +00:00
Antony Riakiotakis
2a747e8b03 Fixes for MinGW cmake debug build:
* OpenEXR doesn't need debug suffix
* Fix libmv template issue when linking by removing duplicate libmv inclusion. I wonder how this never turned up in release builds as well.

Important: Since OpenImageIO went into trunk, OpenEXR, possibly along with other image libraries will need to be turned on too because OIIO depends on them.
2011-11-09 18:50:48 +00:00
Thomas Dinges
a645935a1d Build system fixes:
* Fixed Boost libs names after upgrade to 1.47
* Remove old reference to space_sound from cmake.
2011-11-08 20:56:55 +00:00
Brecht Van Lommel
dca15b215d Cycles: svn merge -r41613:41627 ^/trunk/blender 2011-11-07 17:13:32 +00:00
Brecht Van Lommel
a6828b9c6f CMake: add delayed_install macro to specify files to be installed from modules
other than source/creator.
2011-11-07 15:53:40 +00:00
Brecht Van Lommel
5ef9039b7e Cycles: svn merge -r41531:41613 ^/trunk/blender 2011-11-07 15:23:08 +00:00
Sergey Sharybin
27d42c63d9 Camera tracking integration
===========================

Commiting camera tracking integration gsoc project into trunk.

This commit includes:

- Bundled version of libmv library (with some changes against official repo,
  re-sync with libmv repo a bit later)
- New datatype ID called MovieClip which is optimized to work with movie
  clips (both of movie files and image sequences) and doing camera/motion
  tracking operations.
- New editor called Clip Editor which is currently used for motion/tracking
  stuff only, but which can be easily extended to work with masks too.

  This editor supports:
  * Loading movie files/image sequences
  * Build proxies with different size for loaded movie clip, also supports
    building undistorted proxies to increase speed of playback in
    undistorted mode.
  * Manual lens distortion mode calibration using grid and grease pencil
  * Supervised 2D tracking using two different algorithms KLT and SAD.
  * Basic algorithm for feature detection
  * Camera motion solving. scene orientation

- New constraints to "link" scene objects with solved motions from clip:

  * Follow Track (make object follow 2D motion of track with given name
    or parent object to reconstructed 3D position of track)
  * Camera Solver to make camera moving in the same way as reconstructed camera

This commit NOT includes changes from tomato branch:

- New nodes (they'll be commited as separated patch)
- Automatic image offset guessing for image input node and image editor
  (need to do more tests and gather more feedback)
- Code cleanup in libmv-capi. It's not so critical cleanup, just increasing
  readability and understanadability of code. Better to make this chaneg when
  Keir will finish his current patch.

More details about this project can be found on this page:
    http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011

Further development of small features would be done in trunk, bigger/experimental
features would first be implemented in tomato branch.
2011-11-07 12:55:18 +00:00
Campbell Barton
62f2218554 macro formatting & remve some unused code. 2011-11-05 05:44:52 +00:00
Brecht Van Lommel
942d2fe3b7 Cycles: svn merge -r41467:41531 ^/trunk/blender 2011-11-04 20:21:40 +00:00
Campbell Barton
e2393d1109 ability to have permanent callbacks that stay active when new blend files are loaded.
this works by tagging functions, eg:

  def my_func(scene):
      pass

  bpy.app.handlers.permanent_tag(my_func, True)  # <-- important bit
  bpy.app.handlers.frame_change_pre.append(my_func)
2011-11-03 06:53:52 +00:00
Brecht Van Lommel
2f453773f6 Cycles: svn merge -r41266:41467 ^/trunk/blender 2011-11-02 16:17:05 +00:00
Brecht Van Lommel
4cd1e6337e Cycles: svn merge -r41225:41232 ^/trunk/blender 2011-10-24 22:32:00 +00:00
Campbell Barton
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Brecht Van Lommel
1bdf652b89 Code refactoring: move external engine functions into own file. 2011-10-22 16:24:28 +00:00
Brecht Van Lommel
9adfa289e8 Cycles: svn merge -r41157:41182 ^/trunk/blender 2011-10-21 20:26:54 +00:00
Brecht Van Lommel
10af15b85b Cycles: svn merge -r40934:41157 ^/trunk/blender 2011-10-21 20:13:12 +00:00
Brecht Van Lommel
00735ed9e4 Code cleanup: don't use btempdir/bprogdir/bprogname globals anymore, but wrap
in BLI_ functions.
2011-10-21 17:37:38 +00:00
Campbell Barton
78a8f8a4b1 - remove release/bin/.blender/.bfont.ttf, we have ./release/datafiles/bfont.ttf already, and its not used anymore.
- removed scons WITH_BF_FREETYPE
2011-10-21 03:16:01 +00:00
Campbell Barton
d132b08f33 move fonts/ and locale/ dirs into release/datafiles, since blender wasn't finding them in their current location and so to test international characters you had to 'make install'.
updated scons/cmake/translation-scripts.
2011-10-21 03:00:28 +00:00
Campbell Barton
ef218c75ed - add convenience functions BLI_split_dir_part / BLI_split_file_part, which just call BLI_split_dirfile().
- add a fixed value for bprogdir (the dir of bprogname), since it was being used for resource lookups.
2011-10-21 02:13:36 +00:00
Campbell Barton
4512f10db9 misc edits
- rename define DISABLE_SDL --> WITH_SDL (which was already used in some places)
- blenders interation preset was using orbit rather then turntable 3d view preference (different from factory defaults).
- tagged some unused rna args.
2011-10-20 00:19:21 +00:00
Campbell Barton
5da894b1fe misc edits
- cmake/windows was installing locale & font when internationalization was disabled, twice when enabled.
- file selector was using the string size-1, where this isn't needed since string buttons expected this value to be the sizeof(), accounting for '\0'.
- use const char for extension checking funcs.
- minor pep8 edits
2011-10-15 05:01:47 +00:00
Brecht Van Lommel
4f33d65ba1 Cycles: svn merge -r40411:40934 ^/trunk/blender 2011-10-11 14:30:53 +00:00
Thomas Dinges
8c229c060d Patch [#28660] x64 thumbnail handler not being installed in CMake builds by Tom Edwards. 2011-10-07 18:25:54 +00:00
Campbell Barton
e42146c1ec remove .Blanguages, its not used anymore 2011-10-02 22:28:49 +00:00
Campbell Barton
cf3956f450 formatting edits only 2011-09-30 15:51:58 +00:00
Dalai Felinto
c927e37410 OSX CMake bundle - blenderplayer doesn't need locale, data, ..
also blenderplayer is a subset of Blender, so no need to repeat the macros here.
2011-09-27 17:06:10 +00:00
Jens Verwiebe
7ba71fff8c OSX: fix player bundle_creation 2011-09-27 10:51:57 +00:00
Campbell Barton
58587a3881 replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
2011-09-26 18:51:10 +00:00