Commit Graph

850 Commits

Author SHA1 Message Date
Dalai Felinto
3d9dc6a2e4 WITH_PYTHON_FRAMEWORK cmake option for OSX
This option allow Blender to be linked against the Framework python
It's useful if you want to have blenderplayer and bpy in the same application and need to avoid PyThread problems.

patch reviewed by Jens Verwiebe before 2.66. He may want to change something though.
(also small: I changed:
/Library/Frameworks/Python.framework/Versions//python
by
/Library/Frameworks/Python.framework/Versions//Python
as the latter seems to be the norm)
2013-02-22 22:24:38 +00:00
4cf9034f6d Remove extern_ssba workaround
SSBA seemed to be working OK last time i've checked it
with MSVC and optimization enabled.

Also, we'll likely replace it with own BA soon, which
works fine with MSVC anyway.
2013-02-22 10:06:54 +00:00
ea99b9a392 Made ldl code a part of extern_ssba library, otherwise gcc fails to
find ldl symbols because order of libraries seems to be critical
for gcc linker.

A bit stupid, but that's how linker works..

Both CMake and SCons shall work fine on linux now.
2013-02-20 12:07:27 +00:00
1f88ee6213 Fix #34299: Motion Tracking 20x slower under Windows
Root of the issue goes to SSBA library which didn't work
properly when using optimization in MSVC. It was worked
around by disabling optimization for libmv, which is in
fact shame and shouldn't have been done.

It seems after some changes optimization does not affect
on SSBA code, but enabling optimization could be risky so
close to release.

For now solved by splitting SSBA to separate CMake/SCons
library, disabling optimization only for this particular
library and enabling optimization for rest of libmv.

Tested on all files which used to fail with optimization
enabled in SSBA and all of them works the same as before.
Tracking speed is significantly higher now.

After release we'll enable optimization for SSBA as well,
so there'll be no crappy build setup. Later we'll replace
old SSBA library with new BA code based on Ceres.

Bundle script would be broken for until then, so better
not to use it.
2013-02-20 11:29:43 +00:00
0528162eb6 patch [#34320] Cross compiling with mingw-w64 on ubuntu
from Martijn Berger (juicyfruit)

applying since this is only corrects header case which is ignored on windows anyway.
2013-02-19 12:05:38 +00:00
648f925017 misc changes
- update man page for new additions since last release.
- note that --start-console argument is windows only.
- correct own assertion in own recent commit.
2013-02-14 05:02:20 +00:00
2013934878 Command line argument '--python' wasn't working as documented since a long time, It wasnt checking for text-blocks.
Rather then be ambiguous, add --python-text argument for executing text-blocks.
2013-02-11 03:01:50 +00:00
2005f7c6c0 style cleanup: also some typos 2013-02-11 00:49:00 +00:00
0152d11e01 when using blender as a python module, force factory-startup 2013-02-07 02:50:35 +00:00
c80db5878b some fixes for building blender as a python module again (wip, more work needed). 2013-02-06 13:07:45 +00:00
518bfbb1c9 style cleanup 2013-02-02 04:58:03 +00:00
2a71e4e4f0 make WITH_HEADLESS build again. 2013-02-01 08:24:18 +00:00
7dc33e3ef8 Move opencl and reigidbody from source/blender/ to intern/
This modules does not depend on any blender-specific data
structures or algorithms and due to our policy better be
placed to intern/

Shall be no functional changes, tested CMake and SCons on
Linux, hopefully other platforms will work as well.

P.S. SVN history shall be preserved for the files.
2013-02-01 06:24:49 +00:00
9c99bcd368 replace BLI_make_file_string with BLI_join_dirfile since its much more simple and does whats needed. 2013-01-31 11:17:08 +00:00
e6613389e7 write all crashlogs into the temp directory (not next to blend files). 2013-01-31 11:10:43 +00:00
69ddc5eb99 make bullet optional again 2013-01-23 07:26:39 +00:00
5c85deb285 rigidbody: Add rigidbody module
It's mostly a C API for bullet that interfaces nicely with blender.
It could act as a generic interface for rigid body simulations but right
now it's very specific to bullet.

TODO: Fix building without bullet.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:13 +00:00
b7a2402da6 fix for building with BSD & MinGW. 2013-01-18 21:05:37 +00:00
9b57b2315c include svn revision in the crash log, also free smoothview on the off-chance you manage to exit blender while the view is moving :) 2013-01-17 09:11:51 +00:00
4f938bbbfe Add terminate call for crash handler for windows. Also add inactive code
to do backtrace flushing. This code will need DbgHelp.lib which we may
want to only include for debug builds if at all.
2013-01-13 15:01:34 +00:00
c93e127e7a code cleanup: style and replace (float)sin, (float)cos with sinf, cosf 2013-01-12 14:28:23 +00:00
d0569dd68e win32 has no kill, force crash for now, perhaps windows devs can do this more correctly. 2013-01-11 03:26:49 +00:00
4d7583b66f code cleanup: warnings, also add check in crash handler that a wmWindowManager is present. 2013-01-11 03:21:24 +00:00
3fc0d2691d include a stacktrace in the crashlog text written by the segfault handler. 2013-01-11 01:30:44 +00:00
18536e201f add a segfault handler that writes out the info log into a crash file alongside the blend file. 2013-01-10 16:37:48 +00:00
d8d24bdebd fix [#33682] Animation not updated when the active shape index isnt set 2013-01-03 06:47:44 +00:00
c2839bfe76 add option WITH_SYSTEM_BULLET to link against the bullet installation found on the system.
Note: this doesn't work yet for everything with latest stable bullet (2.81), need to look into why and likely apply some patches upstream.
However I managed to link blender by disabling some features, likely it can be made to work without too much trouble.
2013-01-03 00:23:52 +00:00
a8811094ea Import the RangeTree library into extern
RangeTree is a simple C++ tree set for storing non-overlapping scalar
ranges. Original source from:
https://github.com/nicholasbishop/RangeTree

Also update the build systems to include RangeTree.
2012-12-30 18:20:52 +00:00
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
12b642062c Holiday coding log :)
Nice formatted version (pictures soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability

Short list of main changes:

- Transparent region option (over main region), added code to blend in/out such panels.
- Min size window now 640 x 480
- Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake.
- Macbook retina support, use command line --no-native-pixels to disable it
- Timeline Marker label was drawing wrong
- Trackpad and magic mouse: supports zoom (hold ctrl)
- Fix for splash position: removed ghost function and made window size update after creation immediate
- Fast undo buffer save now adds UI as well. Could be checked for regular file save even...
  Quit.blend and temp file saving use this now.
- Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)"
- New Userpref option "Keep Session" - this always saves quit.blend, and loads on start.
  This allows keeping UI and data without actual saves, until you actually save.
  When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header)
- Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v). 
  Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards. 
- User preferences (themes, keymaps, user settings) now can be saved as a separate file.
  Old option is called "Save Startup File" the new one "Save User Settings".
  To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still.
- OSX: fixed bug that stopped giving mouse events outside window.
  This also fixes "Continuous Grab" for OSX. (error since 2009)
2012-12-12 18:58:11 +00:00
1fa12f09d5 OSX/scons: introducing and testing an unexported_symbols_list to prevent clashes, todo: cmake 2012-11-27 11:38:59 +00:00
9b14d3608f Mark boost symbols as local
This was needed to resolve conflict between blender's and pylux's boost symbols.

Ideally visibility should be changed to local in lux as well, since if blender is
dynamically linked against boost it'll still crash.

Anyway, having this change wouldn't hurt and will solve issues with lux for official
linux builds at least.
2012-11-27 10:24:18 +00:00
2d6402c10c Switch windows to python 3.3
Should affect on msvc2008 only, however scons with msvc2010 could still be broken.
2012-11-26 12:38:40 +00:00
7ef78723b7 code cleanup: doxy comment corrections and correct own typo animation player docs. 2012-11-26 00:59:11 +00:00
629ea82a13 Fix 33149: LLVM caused startup crash on linux systems using Mesa llvmpipe.
Now we hide the LLVM symbols with an ld version script to avoid conflicts.
2012-11-21 22:28:15 +00:00
d3d5c57c32 move source/darwin into release/darwin since these files are for osx packaging. 2012-11-18 07:41:38 +00:00
654ddfa4d2 fix for 'Playanim' playing past the last frame of an animation. also print -s and -e in help message. 2012-11-17 01:15:28 +00:00
17e506a83e Windows OIIO:
* bin/OpenImageIO.dll not needed anymore, now statically linked.
2012-11-15 19:37:29 +00:00
2324c80f50 Cycles OSL: windows build system changes to support static OSL/OIIO. 2012-11-15 17:16:27 +00:00
5c6f6301b0 Image thread safe improvements
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.

To de-reference buffer BKE_image_release_ibuf should now always be used.

To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.

Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.

This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.

Thanks to Ton and Brecht for discussion/review :)
2012-11-15 15:59:58 +00:00
71389d4d74 Cycles OSL: windows build fixes. 2012-11-14 17:18:47 +00:00
5ff3017900 Replacing gettext i18n backend by boost::locale one.
This commit adds a small and simplistic C wrapper around boost's locale library as intern/locale, and heavily simplifies/reduces Blender's own i18n code (under blenfont/ dir). And it adds back UI translation on windows' official builds (with msvc)!

Note to platform maintainers: iconv and gettext (libintl) can now be removed from precompiled libs (not gettext binaries, under windows, of course ;) ).

Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for those build env, please disable WITH_INTERNATIONAL for now (hopefully will be fixed very soon, have contacted psy-fy).
2012-11-11 16:54:26 +00:00
615fe0295f Cycles OSL: refactoring and fixes
* Moved kernel/osl/nodes to kernel/shaders
* Renamed standard attributes to use geom:, particle:, object: prefixes
* Update stdosl.h to properly reflect the closures we support
* Fix the wrong stdosl.h being used for building shaders
* Add geom:numpolyvertices, geom:trianglevertices, geom:polyvertices attributes
2012-11-03 14:32:13 +00:00
c9e5b1e6ee add --debug-handlers so --debug-events isnt so noisy. 2012-10-27 15:05:12 +00:00
226a5ee834 remove LOD_Decimator (c++ decimator), now replaced by bmesh decimator. also remove CTR c++ classes that are no longer used. 2012-10-22 02:39:26 +00:00
c0a7773ccf Boost directories were not properly configured to vc2010.
Opencolorio directories and openimageio not work as you would expect macro
2012-09-25 15:11:34 +00:00
33d7a1bbeb OSX/osl: add install of shader headers needed for osl_nodes compile 2012-09-24 19:25:32 +00:00
237a9fde92 Enable OpenColorIO for MinGW64 build targets 2012-09-16 18:05:32 +00:00
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00