Commit Graph

42062 Commits

Author SHA1 Message Date
Campbell Barton
90e7be4710 Fix T37727: z-offset problems with camera view 2013-12-09 21:20:08 +11:00
Campbell Barton
c46463eb3f Code Cleanup: use ELEM macro when checking object type 2013-12-09 21:20:07 +11:00
Campbell Barton
75348e6c13 View3D API: rename view3d_camera_get to ED_view3d_camera_data_get 2013-12-09 21:20:07 +11:00
Lukas Tönne
793b73edc2 Fix T37712: Point cache index lookup crashed with 0 points stored.
The BKE_ptcache_mem_index_find is using unsigned ints for binary search
"high" values - but this leads to integer overflow if the totpoint
number is 0 and causes invalid array access.
2013-12-09 11:06:23 +01:00
Brecht Van Lommel
79288a35fa Fix T37747: keymap import error with region timers. 2013-12-09 06:39:17 +01:00
Campbell Barton
85ce444455 Lattice Editmode: Select Mirror
patch originally by Philipp Oeser with some edits.
2013-12-09 15:41:54 +11:00
Campbell Barton
5bd9730b17 Lattice API: add BKE_lattice_index_flip, BKE_lattice_bitmap_from_flag 2013-12-09 15:41:54 +11:00
Walid Shouman
c6620905a7 Tooltips: abbreviate long python operator tooltips
Some tooltips would end up containing long string/array args spanning the screen.
2013-12-09 14:25:03 +11:00
Shane Ambler
2288eb8245 Code cleanup: delete cineon header files that were empty but not deleted.
Reviewed By: brecht

Differential Revision: http://developer.blender.org/D85
2013-12-08 14:01:27 +01:00
Sergey Sharybin
0d71d0a8f0 Correction to previous commit, sorry 2013-12-08 15:11:07 +06:00
Sergey Sharybin
46f8dba4c7 Extend system-info with information about OIIO, OCIO and OSL
Summary:
Version of those libraries might be useful to know.

- OIIO and OCIO is exposed via bpy.app.oiio and bpy.app.ocio.
  There're "supported", "version" and "version_string" defined
  in those modules.

- OSL is available as _cycles.osl_version and _cycles.osl_version_string.

Reviewers: campbellbarton

Reviewed By: campbellbarton

CC: dingto

Differential Revision: http://developer.blender.org/D79
2013-12-08 15:03:17 +06:00
Sergey Sharybin
55416f435a Fix T37212: Wrong user counter when more than 32K users
Summary:
Was a limitation of short data type used for id->us.
Made it to be int, needed to reshuffle fields a bit
because of alignment.

Reviewers: campbellbarton, brecht

Reviewed By: brecht

Maniphest Tasks: T37212

Differential Revision: http://developer.blender.org/D76
2013-12-08 13:34:37 +06:00
Campbell Barton
c005fb407b Util-defines: avoid multiple calculation/access for MIN/MAX macros 2013-12-08 17:29:22 +11:00
Campbell Barton
8a9a060b67 Math lib: optimize hsv/rgb conversion 2013-12-08 17:20:53 +11:00
Campbell Barton
0f22eb8564 3D Text: delete selection before pasting 2013-12-08 16:39:11 +11:00
Antony Riakiotakis
6d8f76cfab Minor addition for completeness (unlikely to happen), make sure new
sculpt struct has at least dyntopo subdivision turned on.
2013-12-08 01:57:44 +02:00
Antony Riakiotakis
9f1ace2469 Add themable colors for edges in UV editor. Reuse WIRE_EDIT for outlines
and EDGE_SELECT theme colors for selected edges.
2013-12-08 01:37:19 +02:00
Brecht Van Lommel
51263c6637 Fix T37731: some window manager operators unnecessarily required a window to be active. 2013-12-08 00:00:51 +01:00
Antony Riakiotakis
8e5b02359b Fix T37326 inversion of image channels did not do an undo push. Now only do an undo if we are in image paint mode and use the paint undo stack. Also added missing GPU update.: 2013-12-08 00:29:13 +02:00
Geoffroy Krantz
9174f22b3c Particles: change material picking from index number in UI to menu with materials.
Also fix material slot index not being properly initialized to 1, this got clamped
from zero only on drawing the UI.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D55
2013-12-07 12:26:58 +01:00
Campbell Barton
1ed822202f Code Cleanup: pass rectangles as const in insterface files 2013-12-07 15:47:57 +11:00
Campbell Barton
f64b3732be Util Macros: reduce multiple access & conversion for CLAMP/CLAMPIS/ABS 2013-12-07 14:29:27 +11:00
Campbell Barton
69065b5b2c Compiler warnings: quiet warnings for gcc4.7x
patch from Sergey
2013-12-07 13:21:59 +11:00
Joshua Leung
9b932c12c8 Fix T37722 - Can't undo deleting a screen layout
Operations on screen and UI stuff is not actually saved in the undo
files/buffers. Therefore, these shouldn't have the flags set for
getting included for undo and in the last operator settings.
2013-12-07 13:23:51 +13:00
Sergey Sharybin
967b12060c Alpha channel of a plane track image works fine in MCE now 2013-12-06 20:08:37 +06:00
Campbell Barton
75212f4677 BMesh Py API: add bmesh.geometry.intersect_face_point()
patch originally by mont29 with some edits.
2013-12-06 21:15:56 +11:00
Campbell Barton
72d950ba49 Rectangle API: add single axis intersection check 2013-12-06 18:48:55 +11:00
Campbell Barton
d74d6c7c1d Fix T37710: Missing bounds check for active UI list item could crash. 2013-12-06 10:53:41 +11:00
Antony Riakiotakis
4b9fb83e67 Appease grumpy ole gcc 4.7 of MinGW64 (possibly gcc 4.6 of MinGW32 too?)
that cannot convert float to char without false warnings that are turned
into errors with strict flags. I expect that any real conversion
warnings can be caught on linux.
2013-12-05 23:32:59 +02:00
Antony Riakiotakis
39fd299498 Forgot to theme-ify color of shadow UVs (color used to draw uvs during
image painting)
2013-12-05 23:12:32 +02:00
Sergey Sharybin
3f82e829e5 Correction to fix of T37688
rB68d39a262c90 didn't check correct file for doing
versioning code. It shall check userprefs.blend not
startup.blend.
2013-12-06 01:12:13 +06:00
Campbell Barton
07ceb99213 Code Cleanup: use strict flags for math lib, add inline declarations 2013-12-06 03:57:17 +11:00
Campbell Barton
fac8e84632 Fix for own error in recent tessellation update. 2013-12-06 01:32:18 +11:00
Lukas Tönne
193dd134da Fix T37698: Crash from invalid context access when freeing custom
python nodes on Blender exit.

The nodeFreeNode function is calling a customizable freefunc callback,
which can be implemented by python. However, the context is invalid when
using this callback while the node tree data block is freed on exit.
Luckily it is also not necessary: When freeing the bNodeTree data blocks
all that is needed is freeing of the DNA data, no other side effects
should happen. So now disable the api callbacks when freeing nodes in
the ntreeFreeTree function.

Also some minor cleanup: checking node->typeinfo is not necessary, all
nodes will always have a valid typeinfo pointer - if a node type is
unknown this will be a stub bNodeType to avoid the need for such checks.
2013-12-05 15:09:42 +01:00
Sergey Sharybin
68d39a262c Fix T37688: User Preferences do not load correctly
Issue was caused by from_memory=true passing to wm_homefile_read
in case there's a configuration folder for current blender.

But the thing is, we still might fallback to reading home file
from memory (i.e. in cases there's no startup.blend in config
folder).

In this case we still need to run versioning code for userprefs.
2013-12-05 19:32:48 +06:00
Sergey Sharybin
4838a60b0c Fix T37703: Shadow pass output image is mangled.
Was a mistake in own optimization commit.
2013-12-05 17:31:53 +06:00
IRIE Shinsuke
c17266ff54 Blender Internal: Fix for rendered view crash that happens when changing screen or area type
This crash is very similar to T36936.  If changing screen or area type
buried the rendered view, popping up it again may cause the crash by
corrupted render database.
2013-12-05 16:08:10 +09:00
Campbell Barton
6976866d5a User Interface: Ctrl+C over a menu copies the py command
also use bools rather then ints
2013-12-05 17:26:03 +11:00
Campbell Barton
8003f0606d Compiler warnings: quiet float/double conversion warning 2013-12-05 10:34:30 +11:00
Sergey Sharybin
c6f425c875 Fix T37189: Inconsistent icons for Force field
There's still an issue with Curve Guide force field
which you can not so easily change type from/to.

This i would consider TODO for later.
2013-12-05 01:24:05 +06:00
Sergey Sharybin
b98754836e Fix T37680: Texture image scale is not refreshing 2013-12-04 23:17:59 +06:00
Campbell Barton
c2a518461c Add alloca include for MSVC 2013-12-05 03:45:14 +11:00
Lukas Tönne
67134a7bf6 Fix for EWA (elliptical weighted average) sampling in the compositor.
EWA sampling is designed for downsampling images, i.e. scaling down the size of
input image pixels, which happens regularly in compositing. While the standard
sampling methods (linear, cubic) work reasonably well for linear
transformations, they don't yield good results in non-linear cases like
perspective projection or arbitrary displacement. EWA sampling is comparable to
mipmapping, but avoids problems with discontinuities.

To work correctly the EWA algorithm needs partial derivatives of the mapping
functions which convert output pixel coordinates back into the input image
space (2x2 Jacobian matrix). With these derivatives the EWA algorithm
projects ellipses into the input space and accumulates colors over their
area. This calculation was not done correctly in the compositor, only the
derivatives du/dx and dv/dy were calculation, basically this means it only
worked for non-rotated input images.

The patch introduces full derivative calculations du/dx, du/dy, dv/dx, dv/dy for
the 3 nodes which use EWA sampling currently: PlaneTrackWarp, MapUV and
Displace. In addition the calculation of ellipsis area and axis-aligned
bounding boxes has been fixed.

For the MapUV and Displace nodes the derivatives have to be estimated by
evaluating the UV/displacement inputs with 1-pixel offsets, which can still have
problems on discontinuities and sub-pixel variations. These potential problems
can only be alleviated by more radical design changes in the compositor
functions, which are out of scope for now. Basically the values passed to the
UV/Displacement inputs would need to be associated with their 1st order
derivatives, which requires a general approach to derivatives in all nodes.
2013-12-04 16:05:56 +01:00
Sergey Sharybin
04e434cd81 Fix T37690: UI does not immediatelly reflect new length of effect strip 2013-12-04 20:47:23 +06:00
Lukas Tönne
45fc80153a Fix for interpolation errors on lower-left borders in compositor image
inputs.

http://wiki.blender.org/uploads/4/4c/Compo_image_interpolation_borders.png

Problem is that all image buffer reader nodes (RenderLayer, Image,
MovieClip) were clipping pixel coordinates to 0..N range (N being width
or height respectively). Bilinear interpolation works ok then on the
upper-right borders (x, N) and (N, y), since the last (N-1) pixel fades
out to N (background). But the lower-left (x, 0) and (0, y) borders are
not correctly interpolated because the nodes cut off the negative pixels
before the interpolation function can calculate their value.

To fix this, the interpolation functions are now entirely responsible
for handling "out of range" cases, i.e. setting (0,0,0,0) results for
invalid pixels, while also handling interpolation for borders.
Callers should not do pixel range checks themselves, which also makes
the code simpler. Should not have any real performance penalty,
the interpolation functions do this check anyway, so is probably even
slightly faster.
2013-12-04 12:09:13 +01:00
Sergey Sharybin
a698709d95 Code cleanup: remove unused color management functions 2013-12-04 15:57:54 +06:00
Campbell Barton
6a35b2d72a Compiler Warnings: disallow 'long' in DNA, its not reliably 64bit (gcc only) 2013-12-04 13:51:41 +11:00
Campbell Barton
a9b97dcf22 User interface: internal change, collect panels to draw before drawing.
avoids calling poll twice, in some cases
2013-12-04 11:57:19 +11:00
Bastien Montagne
4584caa133 Fix UI bug with 'socket menus' (used e.g. by cycles' Material panels).
Also tweaked a bit how nodes with more than one socket available are drawn:
* The node entry itself (a label) has no more any icon, so that it is aligned with the other single-socket nodes.
* The sub-entries (i.e. node's sockets) are more clearly indented (using a blank icon).

Details:
Another case of bad internal UI_HAS_ICON flag erasing by brutally assigning an uneeded value to but->flag.
Revealed by recent split of some button flags into but->drawflag.

Thanks to Thomas Dinge for noting the issue.
2013-12-04 00:09:12 +01:00
Campbell Barton
f3d13bec6d Code Cleanup: correct fabsf/fabs/abs use 2013-12-04 09:24:38 +11:00