Commit Graph

468 Commits

Author SHA1 Message Date
Gaia Clary
eb9c3f6aec [#34062] Collada: fixed redundant transform information and order of creation for the loc/rot/trans 2013-02-11 22:45:48 +00:00
Gaia Clary
3dfd736d45 Fix: Collada Import of armatures only added the root bone 2013-02-11 20:21:10 +00:00
Gaia Clary
9d6210c0ed Collada Importer: Some code cleanup and optimization of the rescale function 2013-02-11 11:12:44 +00:00
Campbell Barton
2005f7c6c0 style cleanup: also some typos 2013-02-11 00:49:00 +00:00
Gaia Clary
22dbb675c1 Fix #33437 Collada: Added scale matching for Scene imports. 2013-02-10 22:14:56 +00:00
Campbell Barton
942ad6d9cd style cleanup 2013-02-10 17:06:05 +00:00
Gaia Clary
f34d1d5585 [#33437](partial fix) Collada: importing a scene changes units. Added an option to disable unit settings during import. 2013-02-09 16:19:30 +00:00
Gaia Clary
e3488af838 fixed: [#34080] import of COLLADA breaks on '#' in filepath 2013-02-09 00:23:59 +00:00
Gaia Clary
deeeaed3d8 [#33955] Collada Model Import Hangs Blender. Optimized Object import for better performance. Added logging messages 2013-02-08 19:52:02 +00:00
Gaia Clary
8b37f4724f fix: #34051 Collada export crashes 2013-02-08 12:31:47 +00:00
Gaia Clary
fdd18c7a07 fixed collada import for objects which have NO children 2013-02-08 12:23:36 +00:00
Gaia Clary
286d67b714 fix null pointer issue when child nodes reference to unknown/invalid mesh 2013-02-08 00:28:58 +00:00
Gaia Clary
dbcf735636 fix warning message when imported Collada nodes have < 3 edges. 2013-02-08 00:27:35 +00:00
Thomas Dinges
dad053a152 * One more fix for Collada. 2013-02-05 13:16:21 +00:00
Sergey Sharybin
9d02ac41dc Attempt to fix collada compilation after recent commit
I don't have recent collada compiled here atm, so perhaps there're
more issues here.
2013-02-05 13:04:01 +00:00
Campbell Barton
69993c5d40 style cleanup: spaces -> tabs 2013-02-04 00:18:09 +00:00
Campbell Barton
0dbb08d4eb code style checker now tests for: 'SomeText{' (no space before {).
also removed duplicate break;, probably error from merge.
2013-02-02 13:55:47 +00:00
Campbell Barton
518bfbb1c9 style cleanup 2013-02-02 04:58:03 +00:00
Brecht Van Lommel
6baf63c83b Fix some warnings in the collade code, but did not fix two because they seem
to indicate bugs, left a comment about those.
2013-02-01 15:17:51 +00:00
Jens Verwiebe
8954c99095 Fix compile with collada enabled 2013-01-21 17:38:11 +00:00
Bastien Montagne
95758cf2cf Fix building for new collada... 2013-01-21 14:00:01 +00:00
Gaia Clary
c263753d17 Added gsoc-2012 collada improvements from bratwurst branch 2013-01-21 13:45:49 +00:00
Campbell Barton
761ac89877 style cleanup 2013-01-15 23:45:41 +00:00
Sergey Sharybin
08cea96ab0 Alpha premul pipeline cleanup
This assumptions are now made:
- Internally float buffers are always linear alpha-premul colors
- Readers should worry about delivering float buffers with that
  assumptions.
- There's an input image setting to say whether it's stored with
  straight/premul alpha on the disk.
- Byte buffers are now assumed have straight alpha, readers should
  deliver straight alpha.

Some implementation details:

- Removed scene's color unpremultiply setting, which was very
  much confusing and was wrong for default settings.
  Now all renderers assumes to deliver premultiplied alpha.

- IMB_buffer_byte_from_float will now linearize alpha when
  converting from buffer.

- Sequencer's effects were changed to assume bytes have got
  straight alpha. Most of effects will work with bytes still,
  however for glow it was more tricky to avoid data loss, so
  there's a commented out glow implementation which converts
  byte buffer to floats first, operates on floats and returns
  bytes back. It's slower and not sure if it should actually
  be used -- who're using glow on alpha anyway?

- Sequencer modifiers should also be working nice with straight
  bytes now.

- GLSL preview will predivide float textures to make nice shading,
  shading with byte textures worked nice (GLSL was assuming straight
  alpha).

- Blender Internal will set alpha=1 to the whole sky. The same
  happens in Cycles and there's no way to avoid this -- sky is
  neither straight nor premul and doesn't fit color pipeline well.

- Straight alpha mode for render result was also eliminated.

- Conversion to correct alpha need to be done before linearizing
  float buffer.

- TIFF will now load and save files with proper alpha mode setting
  in file meta data header.

- Remove Use Alpha from texture mapping and replaced with image
  datablock setting.

  Behaves much more predictable and clear from code point of view
  and solves possible regressions when non-premultiplied images were
  used as textures with ignoring alpha channel.
2012-12-31 13:52:13 +00:00
Campbell Barton
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
Sergey Sharybin
3217ecbc8e Compilation fix for collada 2012-12-23 14:34:10 +00:00
Bastien Montagne
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
Gaia Clary
2713d4d5bd revert recent code cleanup which introduced const parameters 2012-12-12 09:49:05 +00:00
Campbell Barton
3520dd56e3 fix for warnings/errors in recent commits 2012-12-11 15:06:51 +00:00
Campbell Barton
7c699a217a define the size of matrix args for both rows/cols. 2012-12-11 14:29:01 +00:00
Brecht Van Lommel
ad394949db Fix #33421: collada import of a mesh with loose edges did not draw the edges in the viewport. 2012-12-06 06:13:43 +00:00
Bastien Montagne
818a345be3 Silent a bunch of gcc warnings (usually dummy, but noisy!). 2012-12-02 16:01:06 +00:00
Bastien Montagne
1d09d0a9c5 Silent some warnings (the one in bmesh_operator.c was even preventing build in -Werror mode). 2012-12-02 13:35:33 +00:00
Brecht Van Lommel
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
Campbell Barton
b867f9f17e style cleanup: comments & spelling 2012-11-18 01:22:31 +00:00
Sergey Sharybin
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
a0f01ef8d8 remove BLI_utildefines from BKE_DerivedMesh.h header 2012-11-01 15:34:38 +00:00
Campbell Barton
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
Campbell Barton
d599b643b7 style cleanup: bge, switch statements mostly.
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
Campbell Barton
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
Campbell Barton
bc8f602601 style cleanup 2012-10-20 18:46:57 +00:00
Gaia Clary
018195ffae fix:[#32784] Crash when Exporting to Collada file (.dae) (was a utf8-character conversion problem) 2012-10-08 12:59:12 +00:00
Campbell Barton
d8144ef0f5 style cleanup: comment blocks 2012-10-04 13:26:15 +00:00
Campbell Barton
aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
Gaia Clary
f3d261d795 Collada(exporter): Added error message when export file can not be created for whichever reason 2012-09-19 19:28:29 +00:00
Sergey Sharybin
6994750679 Fix for collada -- some intermediate patch remained untweaked there 2012-09-15 10:11:58 +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
Gaia Clary
a77d048f66 Collada: #32549 partial fix: packed images now export correctly 2012-09-14 22:31:26 +00:00