Commit Graph

47594 Commits

Author SHA1 Message Date
Campbell Barton
273bb8fa90 barycentric_weights_v2_quad wasn't working quite right, rewrite as an expanded version of interp_weights_poly_v2() that cuts down duplicate calculations. 2012-07-16 12:01:18 +00:00
Sergey Sharybin
4907f7c7e8 Merging r48954 through r48961 from trunk into soc-2011-tomato 2012-07-16 11:06:26 +00:00
Sergey Sharybin
9be5c49bbb Color management: resolve some of current TODOs
- Some of TODO notes were laying around but they in fact
  were resolved a while ago, removed this notes form the code.

- De-duplicate input color space settings drawing in clip and
  image spaces. Moved this stuff to a template which could also
  be used in Python.

- Replace py-defined view transform settings panel with a
  C-defined template as well. Use it in space panels and
  image format settings.

- Remove display settings from color management settings
  panels used by different spaces. Use window settings
  instead.
2012-07-16 10:51:14 +00:00
Sergey Sharybin
48e23021e1 Color management: display descriptions for color spaces
This descriptions are being read from ocio configuration and
exposed into UI via standard enum's tooltips.
2012-07-16 10:51:02 +00:00
Sergey Sharybin
0d37f82c9b Color management: support of configurable input color space
This adds a user-defined input color space name for image and
movie clip data blocks. Support for this thing for other data
blocks is still a TODO.

Input color space is being used on loading file to convert
loaded image buffer from this space to scene linear space,
later this space is never used in a pipeline.

Color space name was wrapped into own structure like it's
done for display and view settings. This helps keep code
de-duplicated in RNA and it'll help when likely more options
are added into input color space settings (i.e. flag whether
image could be color managed or it's a non-color data).

This implied quite of internal refactoring:

- Made routines around threaded display buffer calculation
  more general, so any kind of color transform could be
  performed using the same technique.

- Added function to convert given float buffer from given
  input color space to output color space. This is a public
  function which could be used in such a things as compositor
  node.

- Added function to convert ImBuf's content to scene linear
  space. Currently used only for images and clips. Should be
  added to any image/movie-related data blocks such as
  sequencer strips, but that a bit more long-term plan.

- If input color space is set to NONE then no buffer transform
  would be performed on image loading. It'll behave in the same
  way as using scene linear as input space.
2012-07-16 10:50:53 +00:00
Campbell Barton
9a385d12e3 add 2d version of interp_weights_poly_v3 2012-07-16 10:36:40 +00:00
Campbell Barton
407347fd1f mask fill/cyclic toggle wasnt refreshing compo nodes 2012-07-16 09:41:38 +00:00
Campbell Barton
a2e2489f61 correct own naming error BLI -> BKE 2012-07-16 08:53:11 +00:00
Campbell Barton
284d9422f4 svn merge ^/trunk/blender -r48937:48953 2012-07-16 08:48:06 +00:00
Campbell Barton
4cacff2342 fix for linking with scons. 2012-07-16 08:42:55 +00:00
Campbell Barton
60cfbaeb1e mask blending modes: lighten/darken/multiply/replace 2012-07-16 07:23:16 +00:00
Campbell Barton
8e7aa50021 fix crash for empty or single vertex layers. 2012-07-16 07:04:10 +00:00
Campbell Barton
6f01b0b11f small speedup for mask rasterizer, only do single sided check for triangle intersection. 2012-07-16 06:39:40 +00:00
Mitchell Stokes
4f6cc9a9aa BGE: The Action Actuator now returns correct values to work with the Actuator Sensor. 2012-07-16 03:43:57 +00:00
Tamito Kajiyama
9d2a957a0d Sphere radius and Kr derivative epsilon (removed in revision 43902) were recovered in the Parameter Editor mode.
Several users requested the recovery as the removal of the two parameters was considered over-simplification for advanced users.
As in the Python Scripting mode, the two parameters are in the "advanced edge detection options" section and disabled by default.

Also the lower limit of Kr derivative epsilon was changed from 0 to -1000 so as to permit a negative value.
2012-07-15 22:30:02 +00:00
Campbell Barton
8c77b35f4f svn merge -r48944:48942 .
revert moving the file, adding a new module didnt resolve linking issue.
2012-07-15 16:57:21 +00:00
Campbell Barton
701a16c9dd moving mask rasterizer file, this breaks building, will fix next commit 2012-07-15 16:16:34 +00:00
Campbell Barton
1723d51edb replace fminf with minf 2012-07-15 15:11:52 +00:00
Bastien Montagne
b67b73e2d8 "Fix" [#32033] In the execution result of with_automatic_weight, the difference is seen right and left.
This auto/heat vgroup creation seems to be fuzzy/unstable (each run gives a slightly different result). I have not the competences (nor time) to investigate that laplacian stuff, so for now just adding an option when parenting to an armature with envelope/heat, to mirror weights along the X axis (as it is done by default when doing it from the Weight Paint mode).
2012-07-15 12:53:16 +00:00
Campbell Barton
380c5d66a8 math function to get the intersection point between 2 lines (not 2 segments which we already have). 2012-07-15 11:35:13 +00:00
Campbell Barton
474b922472 fix: node background image move operator didn't take zoom into account when clamping pan bounds. 2012-07-15 11:33:13 +00:00
Sergey Sharybin
0c087e5154 Merging r48928 through r48937 from trunk into soc-2011-tomato 2012-07-15 10:51:36 +00:00
Sergey Sharybin
10253f73bc Fixed deadlock caused by thread locks added in 48893
This deadlock was caused by lock of threads using LOCK_DRAW_IMAGE
mutex and lock used in render result acquire functions.

So if image draw would lock LOCK_DRAW_IMAGE before compositor
operation released render result it'll lead into a deadlock.
2012-07-15 10:48:19 +00:00
Sergey Sharybin
50a6cf10b7 Color management: color management support for saving movie files
This enables color management for movie files saving when rendering
animation. It uses the same settings as saving byte images.
2012-07-15 10:43:50 +00:00
Sergey Sharybin
f79f3de4d5 Color management: implemented ability to color manage byte buffers
Color management of byte buffers is currently disabled, to enable
it COLORMANAGE_BYTE_BUFFER from colormanagement.c should be defined.

Currently color management supposes that byte buffer is originally
in sRGB space. Ideally it'll be using the same input color space
setting as float buffer which is still in a TODO list.

It could be nice artistic option to play with. Also in theory it's
possible that byte images would store data in non-sRGB space.

There's still kind of issue with byte buffers which results in
showing linear image when view transform is set to RAW. It'll be
resolved as soon as real input color space is added. Other view
transformations should work fine.
2012-07-15 10:43:45 +00:00
Campbell Barton
02bac0bebf falloff option for mask layers 2012-07-15 03:11:07 +00:00
Campbell Barton
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
Campbell Barton
f8bf58e0f2 fix for some bugs when the mask layer was outside the view, also clamp the layer buckets within the view. 2012-07-15 00:07:41 +00:00
Campbell Barton
593163e6e5 fix for minor error in previous commit (wasnt connecting right faces for cyclic mask), also avoid doing more area calculations then needed when checking if the mouse is moving away from uiBlock. 2012-07-14 23:26:54 +00:00
Campbell Barton
1cee8ea8ed unfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems. 2012-07-14 23:23:24 +00:00
Campbell Barton
a229c1d442 svn merge ^/trunk/blender -r48911:48927 2012-07-14 20:56:40 +00:00
Campbell Barton
41fe8b9ea9 use a different setting for fill/cyclic - you may want to have unfilled cyclic curves. 2012-07-14 20:53:52 +00:00
Campbell Barton
5e7f8b83ed mask rasterizer, render unclosed splines as lines. 2012-07-14 20:29:17 +00:00
Campbell Barton
6986f671ee code cleanup 2012-07-14 19:21:13 +00:00
Campbell Barton
52c0f44659 zealous bounds checking broke the invert option. 2012-07-14 18:57:16 +00:00
Campbell Barton
a52153a618 mask rasterization: use a simpler method to check if a bucket intersects with a triangle. 2012-07-14 18:42:59 +00:00
Campbell Barton
6946294ab9 rename vars for line dist funcs to make more sense 2012-07-14 18:37:48 +00:00
Campbell Barton
83d1fac2e4 mask rasterizer - test if buckets overlap the face before adding the face into the bucket. 2012-07-14 17:58:42 +00:00
Sergey Sharybin
8a9d1c0a79 Fix #31021: Render settings are not taken into account for curves
Refactored code a bit to make naming a bit more clear and added a
function to create mesh from given display list rather than from
object's displist.

Tested using plain curves (which doesn't imply using derived meshes)
and curves with constructive modifiers (which are using derived meshed).
2012-07-14 17:30:49 +00:00
Campbell Barton
f67ee4ff00 add dynamic bucket xy resolution based on pixel size, also remove some redundant copying. 2012-07-14 16:54:10 +00:00
Campbell Barton
1cbc6a6b4b minor refactor, some comments and var names were misleading. 2012-07-14 16:03:03 +00:00
Campbell Barton
e144e7a82c minor refactor for mask rasterizer 2012-07-14 15:46:32 +00:00
Campbell Barton
e4cfcdc3a6 header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c. 2012-07-14 15:29:45 +00:00
Campbell Barton
fc3cd6eb80 replace masking rasterizer with a more simple geometry based rasterizer (for the compositor).
notes:
- uncomment  #define USE_RASKTER in BKE_mask.h to use the previous mask rasterizer.
- slightly slower for regular masks but significantly faster for feather.
- main benefit is that it threads well so works nice for tile compositor.
- feather is lower quality, can use some improvements here.
- feather can also use some interpolation enhancements, will do later.
2012-07-14 15:29:05 +00:00
Bastien Montagne
01c3db149c Fix [#32086] Missing bevel "hold shift" for better accuracy.
This commit adds "shift" and numtype to both Bevel and Inset mesh operators.

It also gets rid of the magicnumber used in NumInput to str operation (currently, 20 chars per element, now defined as NUM_STR_REP_LEN in ED_numinput.h).
2012-07-14 14:03:36 +00:00
Campbell Barton
f7343fa852 svn merge ^/trunk/blender -r48893:48911 2012-07-14 13:04:01 +00:00
Campbell Barton
98520ce4de use gcc attributes for BLI alloc functions 2012-07-14 12:47:49 +00:00
Mitchell Stokes
ac8c56c6fc BGE: Better fix for the textures not working with custom shaders regression. Now custom shaders work, and textures aren't uploaded twice for GLSL materials (my earlier fix had some bad logic). 2012-07-14 04:43:32 +00:00
Campbell Barton
aeaa95a525 more minor speedups for new mask rasterizer 2012-07-14 04:07:59 +00:00
Campbell Barton
f5a35c3634 new mask rasterizer - replace kdopbvh with with own bucket lookups. 2012-07-14 01:43:33 +00:00