Commit Graph

8170 Commits

Author SHA1 Message Date
Campbell Barton
d3737de8c2 fix for a strange linking error where set_property() in source/blender/blenkernel/intern/property.c would get mixed up with an X11 function of the same name. it crashed blender loading on my system.
Give functions in property.c more unique names.
2012-09-18 04:35:30 +00:00
Campbell Barton
a4ff2b9140 code cleanup: warnings 2012-09-18 03:15:12 +00:00
Campbell Barton
7a06630411 fix for scene not copying image format color management for settings. 2012-09-18 03:14:31 +00:00
Campbell Barton
47677909c7 fix own error in r49994 2012-09-18 01:24:32 +00:00
Campbell Barton
aff591c6e1 code cleanup: typos and set exceptional cases of zero length normals as UNLIKELY(). 2012-09-17 22:22:06 +00:00
Thomas Dinges
058da985ff Release Cycles:
* Bump BLENDER_VERSION_CYCLE to rc. BCon4, bugfixes only.
2012-09-17 10:50:13 +00:00
Sergey Sharybin
dd62f5b7b8 Remove obsolete code from BKE_tracking_marker_clamp 2012-09-17 07:12:02 +00:00
Bastien Montagne
e5d0dcb8d8 Few cleanup in matrix mathutils (make mul_m3_m3m4 and mul_m4_m3m4 consistant with other similar funcs, mainly copy-safe [i.e. you can use the same matrix as operand and result, saves lines in some already over-complicated code!]). 2012-09-16 15:25:28 +00:00
Campbell Barton
b3d2ea28ce speedup for vertex parent lookups, were looping over array elements when it wasn't needed for lattice and curves, and in some cases meshes.
do dirrect array lookups instead where possible.
2012-09-16 08:25:31 +00:00
Joshua Leung
58d520324e Code cleanup - remove some obsolete code 2012-09-16 07:14:15 +00:00
Campbell Barton
2fb8292005 style cleanup 2012-09-16 04:58:18 +00:00
Campbell Barton
d724d0adfe code cleanup: quiet warnings for gcc's -Wundef, -Wmissing-declarations 2012-09-16 00:26:36 +00:00
Campbell Barton
518c80fc94 remove unused parts of raskter module. 2012-09-15 23:05:34 +00:00
Campbell Barton
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
Campbell Barton
219b748dfc fix for bug in txt_undo_read_uint32() reading 4byte unicode values. 2012-09-15 10:40:05 +00:00
Sergey Sharybin
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
Campbell Barton
fed6b2bcb7 code cleanup: remove paranoid/invalid NULL checks and also reduce some unneeded size_t -> int conversions. 2012-09-15 07:31:17 +00:00
Campbell Barton
19863a7268 fix for 3 obvious mistakes/bugs. 2012-09-15 06:30:40 +00:00
Campbell Barton
aa364bb366 fix incorrect macro for mask handle selection checking. 2012-09-15 06:10:48 +00:00
Campbell Barton
d98dd2585f code cleanup: replace memcpy for copy_v3_v3(), and fix for unlikely crash - if (ob->mat == NULL && ob->totcol) 2012-09-15 06:03:49 +00:00
Sergey Sharybin
c73cd2fb6a Silent compiler's warnings about tracking module 2012-09-15 05:01:52 +00:00
Campbell Barton
f9d9459e3f code cleanup: modify DO_INLINE define to not use __inline with mingw
make RegisterBlendExtension_Fail a static func
       u
2012-09-15 02:29:47 +00:00
Campbell Barton
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
Sergey Sharybin
cd4ffe496a Sequencer: clear cache and animation buffers for strips outside of cursor when rendering
This avoids having bunch of cached images when doing animation rendering,
keeping all the memory available for rendered itself.

This keeps memory usage low when rendering huge edits with mixed
scenes and movie strips.

This should not affect on sped of video encoding, which was confirmed by
some own tests.

--
svn merge -r50051:50052 ^/branches/soc-2011-tomato
2012-09-14 14:28:24 +00:00
Campbell Barton
7a71f58af3 fixes for NULL checks, remove some redundant checks and add some in that have been removed by accident as code has been updated. 2012-09-14 06:17:14 +00:00
Campbell Barton
3957efdd38 fix for out-of-bounds checks for fcurve modifier and poselib, also check for NULL members of avi structure (since they are checked for NULL later.) 2012-09-14 06:15:46 +00:00
Campbell Barton
883117077b fix for 2 crashes freeing masks
- freeing a mask from RNA BKE_libblock_free() twice on the mask.
- loading a new blend file would only free the mask and not unlink it from nodes - it would access freed memory.
2012-09-14 01:15:08 +00:00
Sergey Sharybin
c3b808721b Sequencer: add missed cache invalidation
Invalidation was missed for:

- Strip (Un)Muting
- Changing speed effect
- Strip translating
2012-09-13 10:51:18 +00:00
Campbell Barton
05755d307a fix [#31946] Masking doesn't respect pixel ratio 2012-09-13 05:29:38 +00:00
Campbell Barton
ab48f2108b - cmake macro list_insert_after/list_insert_before now error when the item passed is not found in the list.
- BKE_pose_copy_data() check for target pointer is no longer valid and infact comparing against un-initialized memory in some cases.
2012-09-13 01:52:58 +00:00
Campbell Barton
4cb6d5d214 code cleanup: reduce calls to CTX_ functions inline, add some docs to mask rasterizer. 2012-09-13 01:50:21 +00:00
Campbell Barton
2cdfa33137 fix [#29616] Crash/infinite loop from missing cyclic check in group/dupligroups (unlikely/intentional)
calling BKE_ptcache_ids_from_object() could recursively call BKE_object_handle_update(), when there is no reason to update object transforms at all. Add option not to do any updates and just return an object list.
2012-09-11 10:18:45 +00:00
Campbell Barton
10d18e5b5f code cleanup: use min/max inline functions rather than macros & simplify loop 2012-09-11 09:39:37 +00:00
Campbell Barton
a0ae47f06c add some missing NULL checks, a few parts of the code used a pointer then checked it for NULL after.
also made it more clear that some areas assume the pointer isnt null (remove redundant NULL checks).
2012-09-11 02:18:27 +00:00
Campbell Barton
e647c748fb fix [#32518] Vertex slide crash sometimes.
Undo would leave BMEditMesh->me pointer NULL, this would likely crash EDBM_verts_mirror_cache_begin() too.

Rather then restore 'me', remove the pointer altogether and use BMEditMesh->ob->data to save us having to keep track of 2 pointers.
2012-09-10 03:42:29 +00:00
Campbell Barton
2812dd92cf code cleanup: use BMEdit_FromObject() rather then me->edit_btmesh in more places. 2012-09-10 03:34:43 +00:00
Campbell Barton
61d40c38e0 code cleanup: use single define for undo string size, was 64 mostly, but 512 in the UI. 2012-09-10 01:55:58 +00:00
Campbell Barton
aa2d84da37 style cleanup:
also remove some redundant conversions int -> short -> int
2012-09-09 00:00:21 +00:00
Campbell Barton
693ceacc86 fix for security flaw CVE-2008-1103, ref BZ #855092 on https://bugzilla.redhat.com
patch provided by Jochen Schmitt, made some minor edits.
2012-09-08 23:26:15 +00:00
Campbell Barton
1e2d304973 minor improvements to saving quit.blend, print the OS error if the file fails to be created or written. 2012-09-08 23:07:53 +00:00
Campbell Barton
1a7eb3454e style cleanup 2012-09-08 08:59:47 +00:00
Campbell Barton
a9f10b6bc2 style cleanup 2012-09-08 06:40:03 +00:00
Brecht Van Lommel
f647348420 Fix cycles continuously updating when creating a driver for a scene property,
like driving integrator seed with #frame.

The scene drivers are evaluated continuously, which would be nice to fix but
complicated, now it compares the RNA value to see if it actually changed, and
avoids the update in that case, which is a useful optimization by itself.

(merged from tomato branch)
2012-09-06 11:35:16 +00:00
Campbell Barton
6f0cbd787d make freeing sequencer strip without cache an option only exposed within sequencer.c 2012-09-06 09:23:38 +00:00
Campbell Barton
3bb17bd64a fix for crash in sequencer introduced with recent cache addition,
- running undo with metastrips would crash immediately.
- freeing a strip without a scene would crash (clipboard does this).
2012-09-06 04:45:25 +00:00
Campbell Barton
86dd087057 fix [#32475] Enabled audio lets blender crash with autosplit option for movie output 2012-09-06 03:08:47 +00:00
Campbell Barton
47ec91e8d3 code clenup: comments and some style edits on ghost/osx (odd indentation) 2012-09-06 02:10:09 +00:00
Campbell Barton
5d2e4bb87e code cleanup: capitalize defines. 2012-09-06 01:31:15 +00:00
Campbell Barton
9559c95aaa support ANIMFILTER_FOREDIT for mask layers, also move deprecated metaball types to the end of the switch statement when evaluating metaballs. 2012-09-06 00:38:28 +00:00
Campbell Barton
d75a66674d code cleanup: remove deprecated defines and some struct members 2012-09-06 00:33:59 +00:00