Commit Graph

457 Commits

Author SHA1 Message Date
Jens Verwiebe
9e62a52509 OSX/Cmake: make bpy module work finally by linking against python3.2 framework 2012-01-16 20:10:38 +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
Kent Mein
9dc992a3fd Some small fixes to get things compiling on solaris with cmake.
There are also some changes that need to be done to libmv but I'm 
leaving those out so I can get it patched upstream first.

(Only works with gcc/g++ if we want to use sun's compiler we would need
to get rid of all of our annonymous structs which I don't think
we want to do at this point, example:

typedef struct wmNDOFMotionData {
        union {
                float tvec[3]; // translation
                struct { float tx, ty, tz; };   // this would need to be fixed
		// something like this or something similar:
                struct { float x, y, z; } t;
                };
...
)

Kent
2012-01-12 16:31:27 +00:00
Campbell Barton
8b59efe129 ../lib/linux wont built with theoraenc theoradec unbuntu user also complained that this failed to link.
Im not sure whats best default here, removing for now.

if it gives more problems we could have a FindTheora module.
2012-01-12 15:56:08 +00:00
Alex Fraser
dcef7346eb Added mode-getting functions for GHOST under X11 (GNU/Linux).
Enabled xvidmode by default in cmake.
Patch approved by Campbell.
2012-01-11 12:28:31 +00:00
Campbell Barton
68fd186586 use warnigns for all msvc configurations 2012-01-06 05:13:36 +00:00
Campbell Barton
8a9650e620 disable recent attempt to static link mingw DLL's causes errors for some users.
also remove break statement, mistake on last commit.
2012-01-05 10:05:24 +00:00
Campbell Barton
b5ce2b028a link mingw libstdc++ and libgcc libs statically so users dont need mingw installed to use mingw builds 2012-01-05 07:52:03 +00:00
Alex Fraser
c2bb285750 Mode switching for GHOST under X11: adds the ability to change screen resolutions in the blenderplayer on GNU/Linux.
Code ported from Quake 2.
2012-01-02 12:25:14 +00:00
Tom Musgrove
af54c83d28 left out one tiny word... 2012-01-01 22:23:08 +00:00
Tom Musgrove
ab4a93f2bc part of line missing in Jens commit, this fixes compile on non Apple platforms, thanks to Lockal in IRC for pointing it out 2012-01-01 21:19:40 +00:00
Jens Verwiebe
47cb54195d OSX: fix compile by conditional unsupported flags 2012-01-01 16:46:08 +00:00
Campbell Barton
ba8d1b940f option to build without remesh modifier for cmake and scons 2011-12-31 03:34:44 +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
Sergey Sharybin
a0e62e77d7 Update build files to use new OpenAL libraries 2011-12-27 09:37:19 +00:00
Antony Riakiotakis
84c8fde2ae Re-enable CYCLES and OpenEXR since they work for MInGW. IMPORTANT: Only use the latest MinGW to compile blender. 2011-12-24 11:56:13 +00:00
Campbell Barton
da3dd4de20 give errors when using unsupported configurations with mingw` 2011-12-23 07:37:51 +00:00
Thomas Dinges
b66c87231a * Changes for static win32 png libs. 2011-12-19 19:46:07 +00:00
Thomas Dinges
9d3e755b4c Fix for cmake for recent mingw png lib move. 2011-12-18 23:32:24 +00:00
Alexander Kuznetsov
6d5ffb878d Enables vc 2010 boost libraries for cmake 2011-12-03 01:12:57 +00:00
Campbell Barton
7d0b5920c6 rename cmake WITH_OCEANSIM --> WITH_MOD_OCEANSIM and tag CYCLES_CUDA_BINARIES_ARCH as advanced. 2011-11-13 14:16:43 +00:00
Lukas Toenne
11c83d8432 Ocean Sim modifier patch
by Matt Ebb, Hamed Zaghaghi

This adds a new Modifier "Ocean" to simulate large-scale wave motion.
Details can be found in the wiki documentation [1], the project homepage [2] and the patch tracker [3]

The modifier is disabled by default for now. To enable it, the WITH_OCEANSIM (cmake) / WITH_BF_OCEANSIM (scons) flags have to be set. The code depends on fftw3, so this also has to be enabled.

[1]
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Ocean

[2]
http://www.savetheoceansim.com

[3]
http://projects.blender.org/tracker/?group_id=9&atid=127&func=detail&aid=28338
2011-11-13 12:17:27 +00:00
Brecht Van Lommel
0f85990d4a Cycles: more linux build system tweaks, attempting to avoid using boost
system libraries by default if we have a lib/ directory.
2011-11-11 20:57:00 +00:00
Brecht Van Lommel
38fd8c0e22 Cycles: fix wrong openimageio path for lib/ directory. 2011-11-11 19:20:52 +00:00
Brecht Van Lommel
a7f09ea0b2 CMake/Scons: automatically use ffmpeg, boost and openimageio from the svn lib/
directory if available, which should make building with ffmpeg and cycles easier.

If this folder is not available or another path is specified in user-config.py
or CMakeCache.txt, this should have no effect. Wiki build instructions now show
how to use these.
http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Linux
2011-11-11 14:52:24 +00:00
Brecht Van Lommel
c42772fc95 Cycles:
* Add back option to bundle CUDA kernel binaries with builds.
* Disable runtime CUDA kernel compilation on Windows, couldn't get this working,
  since it seems to depend on visual studio being installed, even though for
  this particular case it shouldn't be needed. CMake only at the moment.
* Runtime compilation on linux/mac should now work if nvcc is not installed in
  the default location, but available in PATH.
2011-11-10 12:52:17 +00:00
Campbell Barton
5caf6e9070 presets now work from non-redo popups,
ended up having to add a new pointer into the uiBlock (which I'd rather have avoided), but setting the uiLayoutSetContextPointer(..) was complicated to properly use for submenus and popus.
2011-11-10 03:44:50 +00:00
Brecht Van Lommel
262ac7340e Cycles: cmake tweaks for linux build, instructions on the wiki no longer worked. 2011-11-08 21:40:08 +00:00
Campbell Barton
4292fa702f stop cmake from overwriting BOOST_ROOT and OPENIMAGEIO_ROOT_DIR which the builder is supposed to be able to set. 2011-11-08 18:15:53 +00:00
Brecht Van Lommel
8cfc17c7cd Cycles Merge:
* It seems we have a problem compiling the CUDA kernel at runtime on Windows,
  will need to investigate more how to solve this best, CPU render should go
  fine though.
* Change OPENIMAGEIO to OPENIMAGEIO_ROOT_DIR on linux for consistency.
2011-11-08 17:53:49 +00:00
Antony Riakiotakis
fb925d9ad3 Update MinGW to use correct lib location for boost 2011-11-08 17:19:14 +00:00
Brecht Van Lommel
24aebc444b Cycles Merge
Documentation:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles

Cycles is available is an extra render engine from the top header. It's not
feature complete, consider this as a first preview release. Known bugs:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/KnownIssues

Building currently only works with CMake, SCons support is being worked on
and should be available soon.

Also missing still is precompiled OpenImageIO and Boost for Linux, these will
be added later in lib/linux*, if you do not have these installed on your
system, Cycles will simply not be available.
2011-11-08 17:00:40 +00:00
Antony Riakiotakis
bf7b3efb18 *Correct syntax for static, since we invoke g++ as linker and we have to pass it to ld.
*CMakefile: Update boost and OpenImageIO libraries for MinGW like in the cycles branch
2011-11-08 16:03:28 +00:00
Antony Riakiotakis
d8ecac6126 Correct syntax for static, since we invoke g++ as linker and we have to pass it to ld 2011-11-08 16:02:34 +00:00
Antony Riakiotakis
354ebeadc8 Cycles now uses correct libs on MinGW 2011-11-08 14:47:03 +00:00
Brecht Van Lommel
a56c6e18a8 Cycles:
* Disable precompiled cuda binaries, always do at run time
* Change preview samples default to 10
* Hide volume panels since they don't do anything yet
2011-11-08 14:10:33 +00:00
Brecht Van Lommel
dca15b215d Cycles: svn merge -r41613:41627 ^/trunk/blender 2011-11-07 17:13:32 +00:00
Brecht Van Lommel
b06db617a0 CMake: Boost and OpenImageIO building support (unused still). 2011-11-07 15:44:09 +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
Thomas Dinges
3bf96250cd Cycles:
Use new libs on win32/64. Make sure you update lib/windows or lib/win64.
2011-11-06 14:09:08 +00:00
Brecht Van Lommel
942d2fe3b7 Cycles: svn merge -r41467:41531 ^/trunk/blender 2011-11-04 20:21:40 +00:00
Campbell Barton
4293f4738c patch [#28947] Patches for #28943 (Support for XDG Base Directory Specification)
from Cosme
2011-11-02 22:00:22 +00:00
Brecht Van Lommel
2f453773f6 Cycles: svn merge -r41266:41467 ^/trunk/blender 2011-11-02 16:17:05 +00:00
Campbell Barton
a5959e767e hopefully fix problem with cmake on osx (older gcc version) 2011-11-01 00:34:09 +00:00
Campbell Barton
f708318833 correct flags for older GCC's which dont suppport -Wno-deprecated-declarations,
detect if the flag is supported before use
2011-10-30 04:48:00 +00:00
Andrew Wiggin
15bd96efeb Fix RelWithDebInfo build.
RelWithDebInfo sets the library path to only include release libraries (e.g. python32.lib) but defining _DEBUG when #include'ing python headers inserts a linker directive to require for python32_d.lib. Additionally, RelWithDebInfo should be different from release build in that it builds debugger symbols (.PDBs), it should not have asserts and other debug code.
2011-10-29 16:14:38 +00:00
Campbell Barton
944b07f5b7 cmake - set configuration specific defines globally rather than mixing in with c/cxx flags 2011-10-26 00:51:29 +00:00
Campbell Barton
ff683ca5e5 misc small edits, remove remaining Id's 2011-10-25 04:01:09 +00:00
Brecht Van Lommel
4cd1e6337e Cycles: svn merge -r41225:41232 ^/trunk/blender 2011-10-24 22:32:00 +00:00