Commit Graph

985 Commits

Author SHA1 Message Date
390ddd9103 Fix #33168: collada export added incorrect -material postfix to material names.
In the bug report it was also mentioned that special characters should be
preserved for names, however the collada 1.4 specification does not allow this.
Version 1.5 does, but we are still writing 1.4 files and files with such special
characters will then fail to open in some applications.
2012-11-27 21:26:06 +00:00
b867f9f17e style cleanup: comments & spelling 2012-11-18 01:22:31 +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
cf6994b910 code cleanup: spelling,
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-12 07:33:01 +00:00
a31449edad all remove functions now invalidate the RNA objects passed, to help script authors to avoid bugs with accessing removed data. 2012-11-02 09:41:26 +00:00
a0f01ef8d8 remove BLI_utildefines from BKE_DerivedMesh.h header 2012-11-01 15:34:38 +00:00
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
d599b643b7 style cleanup: bge, switch statements mostly.
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
bc8f602601 style cleanup 2012-10-20 18:46:57 +00:00
018195ffae fix:[#32784] Crash when Exporting to Collada file (.dae) (was a utf8-character conversion problem) 2012-10-08 12:59:12 +00:00
d8144ef0f5 style cleanup: comment blocks 2012-10-04 13:26:15 +00:00
aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
f3d261d795 Collada(exporter): Added error message when export file can not be created for whichever reason 2012-09-19 19:28:29 +00:00
6994750679 Fix for collada -- some intermediate patch remained untweaked there 2012-09-15 10:11:58 +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
a77d048f66 Collada: #32549 partial fix: packed images now export correctly 2012-09-14 22:31:26 +00:00
0a0074f9c6 Collada: do not call polylist export for objects with no polygons (avoid a missleading warning message) 2012-09-12 18:26:01 +00:00
ab77d11bdb #31682: corrected some minor typos in the comment 2012-09-12 15:48:22 +00:00
26260ffc74 #31682: partial fix (the export): Avoid to copy exported image into itself 2012-09-12 15:41:58 +00:00
aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
192935eb04 fix:32348 Collada yfov to xfov conversion fo camera settings 2012-09-03 17:54:04 +00:00
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
417e99df22 Collada: fixed export when 'active UV Layer only' was selected 2012-08-15 22:08:22 +00:00
10004d4a42 fixed: [#32240] Collada import when nodes share geometry but not material 2012-08-12 17:13:07 +00:00
b96c622015 style cleanup 2012-08-11 22:12:32 +00:00
f8a68d50f7 COLLADA: report #32237 fixed Camera exporter and Importer to use correct camera animation data 2012-08-05 21:35:09 +00:00
aff4c781eb COLLADA: #29058 Fixed crash when illegal reference to non existing camera object is found. And report a warning to the console) 2012-08-05 10:23:34 +00:00
9090340175 COLLADA: fix for #32251. This seems to be compliant to the Collada 1.4.1 specification. 2012-08-04 22:18:56 +00:00
021dd5fb40 COLLADA: added initial support for ymag and yfov in importer. fixes issue #32237 2012-08-04 21:25:19 +00:00
9b51503307 style cleanup 2012-07-21 22:58:08 +00:00
f3fa96303b Fixed an exception during image export when a source image does not exist in the file system 2012-07-09 22:41:44 +00:00
3c0579afc5 Removed unneeded variable from Image Exporter 2012-07-09 21:57:04 +00:00
75a5eab8d1 code cleanup 2012-07-08 21:37:59 +00:00
9f22750422 style cleanup 2012-07-04 20:47:12 +00:00
32478997ec style cleanup 2012-06-27 18:29:47 +00:00
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
8ef4c4762b Added option for exporting material based textures. Cleaned up header files due to a bug in osx 2012-06-23 22:03:31 +00:00
adf3a5e332 Collada: (Export) Added export of surface textures, and control over exported uv layers 2012-06-22 16:16:58 +00:00
a744fed46c style cleanup 2012-06-20 16:43:48 +00:00
3a6f573b95 style cleanup: also quiet a warning. 2012-06-17 11:36:28 +00:00
f5f25b81e8 style cleanup:
also fix for building ghost test and fix double free in one of the tests
2012-06-17 09:58:26 +00:00
0df30d1063 Collada: (Exporter) add 'mesh type selection(view|render)' for Apply modifiers option 2012-06-16 23:35:53 +00:00
664c95d1eb code cleanup: collada
- when bubble sorting names - dont convert to str::string just to compare strings
- use BLI_linklist_index() to check if an item is in the list
- quiet some warnings
2012-06-16 09:16:24 +00:00
9f6a66d5f9 Collada: (Exporter) Add new option 'deform bones only' 2012-06-15 22:00:25 +00:00
e879ee1798 SVN maintenance. 2012-06-15 02:21:07 +00:00
2cc9ecad55 fix for exporting armature, when it is explicitly selected 2012-06-14 18:29:29 +00:00
91eed57e62 Collada: cleanup sort function for 2012-06-14 14:48:52 +00:00
43864f9103 fix a nullpointer exception when data missing in dae file 2012-06-14 14:47:41 +00:00
05a1a31693 Collada: Added export Option 'sort by object name' to fix an issue with Second Life import 2012-06-14 10:38:39 +00:00