Commit Graph

198 Commits

Author SHA1 Message Date
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
2f82e7f808 Display buffer should be marked as invalid when setting pixels from python 2012-10-23 09:59:04 +00:00
cd95229a17 No need to limit image frame offset to blender's frame range 2012-09-24 12:15:49 +00:00
6c1da4d022 code cleanup: make many functions static 2012-09-22 14:07:55 +00:00
3094a02e6e "Colospace" -> "Color Space" (in UI messages). 2012-09-18 07:14:16 +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
0bd759fddd new image operator now allows color grid (before was only grid on/off) 2012-08-29 08:17:38 +00:00
ae919658d4 Add frame_duration read-only member to Image RNA struct, returns movie's length in frames (or 1 for still images). 2012-05-26 14:53:33 +00:00
a9f6e54384 style cleanup: mostly whitespace in rna 2012-05-12 11:01:29 +00:00
1dccd4c98a code cleanup: naming - pose/armature/image
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05 16:03:57 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
5c89138684 style cleanup: comments 2012-04-22 11:54:53 +00:00
1e5424564c expose image render_slot so keybindings can be configured to change 2012-03-28 09:10:19 +00:00
5a90ea77bc style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:24:53 +00:00
ed43b652ee Code style edits (mostly spliting long lines, and removing trailing spaces).
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines):
* The node types definitions into rna_nodetree_types.h
* The vgroup name functions into rna_particle.c
2012-03-18 09:27:36 +00:00
0114d78c33 Code cleanup in rna files (huge, higly automated with py script).
Addresses:
* C++ comments.
* Spaces after if/for/while/switch statements.
* Spaces around assignment operators.
2012-03-05 23:30:41 +00:00
b3a0a33791 "Fix" [#30431] UI string spelling & similar fixes.
All suggested changes looked good to me, thx to Michael Färber for this list of changes!
2012-03-02 21:14:37 +00:00
3376cd93fa Fix: toggling premultiply or color management not updating packed images. 2012-01-11 13:18:24 +00:00
d7d856a23d Color management: add "Color Unpremultiply" option for images and render settings.
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.

This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.

In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.

Patch by Troy Sobotka, with changes by me.
2011-12-30 14:17:11 +00:00
fdfd7045eb A bunch of fixes and tweaks in RNA messages, found while translating them in french... 2011-11-26 12:30:01 +00:00
30fd1ab523 replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to avoid confusion with ImageFormatData.depth 2011-11-21 20:47:19 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
daf51fe6cd A big set of UI messages fixes and tweaks! No functional changes. 2011-10-20 07:56:04 +00:00
28780342ed fix/workaround [#28040] float images reduced to 256 levels per channel upon save
Generated images would not be re-generated with a float buffer on load, even when selected on creation.
Now save the float buffer setting as a generated image flag.

This means you can enable before baking to enable baking to a float buffer.
2011-07-21 00:41:00 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +00:00
155d589333 add the property as an argument to enum item functions, not used yet but needed for dynamic python enums. 2011-05-26 13:38:16 +00:00
05d004fd14 support for reading/writing image resolution (dpi), for PNG and TIFF,
only RNA access currently 'image.resolution'.
2011-05-13 14:27:12 +00:00
e6604d77f5 Twitter report fix :)
More clear naming for image "source" type.
"Single Image" and "Image Sequence" and "Movie File".

Thanks @hjalti for poking!
2011-04-28 12:43:28 +00:00
0a9ec053c0 Fix for Image.pixels set, buffer was not tagged as modified, patch by Domino Marama. 2011-04-06 12:54:47 +00:00
7b9fed7392 Fix for slow Image.pixels, make it a flat instead of multidimensional array. 2011-04-04 17:10:48 +00:00
993e9d4c46 Image pixel acces, through Image.pixels as floating point values.
It's not the most efficient solution, but this can be optimized later. It's
best to copy out all the pixels at once into a list, rather than accessing
them one by one.
2011-04-03 16:17:39 +00:00
53139432dd image.depth, 96/128 for float color images, was 24/32 for byte images.
also use <> for system includes
2011-03-09 01:25:59 +00:00
Nathan Letwory
a47ca06502 doxygen: blender/makesrna tagged. 2011-02-27 20:20:01 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
e93a7aa849 FILTER="^\[[ 0123456789][ 0123456789][ 0123456789]\%] \|Linking \(C\|CXX\) static library\|Building \(C\|CXX\) object \|Built target "
Bugfix #25280

Image: sequence option was hardcoded to assume "first frame" was always
picture "001". Made it impossible to have a sequence of images starting
with picture like "000"

Note that by allowing to render a first frame as 000 in Blender, things
mess up a bit here. Things work now as follows:

- Start Frame = 1 : Image 001 on frame 1
- Start Frame = 0 : Image 001 on frame 0
- Start Frame =-1 : Image 000 on frame 0 ;)

This is of course the lack of proper control for image sequences.
Definite something to work on; best idea I have now is a new setting
that defines the Image Number to be "first frame". That way you can
map that number on any Blender frame. Or it makes it more confusing? :)

For the doc department: the proper meaning of "Start Frame" now is:

"The blender frame a sequence starts playing, assuming the sequence
starts with image #1"

Tooltop was fixed accordingly

(Also fixed 'remove doubles' to show more precision in toolbar)
2010-12-18 18:56:21 +00:00
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
72279e1c92 fix for RNA ranges exceeding the range of the type (INT_MAX used on short's for eg). 2010-11-21 03:45:35 +00:00
6a9a49f8af bugfix for grease pencil freeing order.
it was freed before objects which would then decrease its usercount - accessing freed memory.

Also fixed error in own last commit.
2010-10-29 07:11:45 +00:00
b5b48bd53a bugfix [#24439] Smear 2D paint fails
small unrelated change: when setting the image type of an image, loop over all its Imbufs and set them.
2010-10-28 19:40:05 +00:00
e7edc4563a bugfix [#23326] Enable to add keframes on Image values (texture context) 2010-09-20 09:52:29 +00:00
a3470be1bc Allow start frames < 1 on image sequences. 2010-09-15 03:45:33 +00:00
86ad6837c5 fix for image sequence ranges 2010-08-25 02:00:55 +00:00
93ffe7d7f1 rna renaming (manual edits) 2010-08-21 04:51:00 +00:00
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
54e6ea70c0 rna renaming for Render* structs 2010-08-18 04:10:23 +00:00
80e6323646 * Images for brush icons are now reloaded when they are needed from an external file
* First, try to load the file from the given filename.  This is either absolute or relative to the current .blend
* If file is found using the given filename directly then look for the file in the datafiles/brushicons directory (local, user, or system).

* Note: This commit does not update the .blend to reference the default icons
* Note: This commit does not make sure that the build system copies the default icons to the 2.52/datafiles/brushicons directory
2010-07-20 02:18:10 +00:00
5505697ac5 Merge GSOC Sculpt Branch: 28499-30319
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins
See log of that branch for details.
2010-07-14 14:11:03 +00:00