Commit Graph

47594 Commits

Author SHA1 Message Date
Bastien Montagne
18a1e17a20 OpenCollada: Fix error in printf-format (too much arguments). 2014-01-09 20:35:20 +01:00
Bastien Montagne
06d70c7798 Cleanup: mostly, prefer array syntax to pointer arithmetic (keep the later only where it really makes sense). 2014-01-09 20:35:20 +01:00
Bastien Montagne
08eaa8daac Fix T38135: Global start and end point of the curve was set to zero radius & weight, when using 'linked' option.
This was (more or less) OK with hand-drawn strokes, as the number of points made it nearly unoticable, but broke completely with line and poly strokes!

Did this when I implemented linked curve feature because it was easier! Now, convert code always adds a heading and trailing point to the curve,
to get initial/final zero radius. Adds even more complexity to those functions... :/
2014-01-09 20:35:20 +01:00
Bastien Montagne
f12d93919b Grease pencil 'convert to curve' code: some cleanup & refactor. 2014-01-09 20:35:19 +01:00
Bastien Montagne
f1c81a199a Cleanup: Remove tabs in empty lines, use bool when possible instead of int, and mark const values/parameters as such. 2014-01-09 20:35:19 +01:00
Sergey Sharybin
3d10343888 Code cleanup: remove WIP code came from the GSoC branch
DAG node tagging was rather an experiment to make derived render working.
However, it ended up in a whole can of worms and need to be re-considered.
It is likely that regular object update tagging and scene update routines
are to be used for this.

Meanwhile no need to keep extra field in dag node. Would save us the whole
byte of the struct which we can use for other purposes meanwhile.
2014-01-10 01:23:49 +06:00
Sergey Sharybin
492277b4a1 Fix own regression in font->curve conversion
Issue was introduced in a2bf25e and was caused by
do_makeDispListCurveTypes() no longer placing nurbs
to cu->nurb list.

Such an operation isn't thread-safe and proper solution
would require having granular update. For until them
just make object conversion take care of filling cu->nurb
in with splines from font.
2014-01-10 00:36:37 +06:00
Campbell Barton
1914d804cf Fix T38083: submenu arrow is overlayed by menu hotkey 2014-01-10 02:25:49 +11:00
Joshua Leung
0445454f1e Fix T38077: Scaling bones in EditMode drawn using envelope display mode scales joint radii instead
When trying to scale bones in EditMode and the bones were drawn using envelope display mode,
this resulted in the joint radii (i.e. the inner part of envelopes) being adjusted instead.
It turns out that this was due to an old hack that was put in place back in 2.4x (see the
tracker logs for full details of the problem here).

This commit introduces the following fixes:
1) Removed the old hack. Scaling (S) works normally now.
2) Ctrl-Alt-S (i.e. "Scale Envelopes/BBones") is as-is.
   That is, it is used to adjust the size falloff-region around a bone
   (i.e. the "dist" property)
3) Added Alt-S hotkey in EditMode for armatures for adjusting the radii of bones.
   This change just means that the "TFM_BONE_ENVELOPE" mode is now able to be
   accessed from the UI as a tool on its own right (instead of being accessible
   via the old undocumented hack). This tool adjusts the radii of the bone joints,
   which define the actual full-influence region of the envelopes.
2014-01-10 00:48:43 +13:00
Campbell Barton
da6bc87b57 Fix T38138: incorrect API docs 2014-01-09 21:49:11 +11:00
Sergey Sharybin
cc31722a41 Fix T38000: vertex parent crash due to threading issues
Issue is causes by vertex parent modifies original BMesh from
a multiple threads. Ideally this is to be done as a separate
update callback for mesh datablock, but it's not so much simple
now (would need to do some re-arranges to DAG which might conflict
with the work from Ali or will double amount of work we did).

So for now use simple solution with mutex lock.

Based on the patch from Campbell Barton with some fixes to make
changes really thread-safe.

Differential Revision: https://developer.blender.org/D168
2014-01-09 16:33:53 +06:00
Antony Riakiotakis
1ea5c2a8e3 Fix remaining sculpt mode crash using multires modifier, similar cause
to previous sculpt fix (OpenGL access from thread with no context
bound). The fact that this has gone unnoticed so far means that people
are dyntopoing like crazy these days.
2014-01-09 04:28:17 +02:00
Campbell Barton
e47a41e3fc Code Cleanup: style 2014-01-09 11:44:59 +11:00
Brecht Van Lommel
a0dbee6e93 Fix T38016: setting Object.matrix_world does not take bone parents into account. 2014-01-09 00:38:56 +01:00
Brecht Van Lommel
aad731d51c Code cleanup: remove BKE_object_where_is_calc_simul function.
It doesn't make any sense anymore with the current depsgraph and probably was
not useful for a long time, just a leftover from the pre 2.04 game engine.
2014-01-09 00:17:18 +01:00
Brecht Van Lommel
0d57724c64 Fix T38062: normal map baking gave randomly values 127 or 128 in flat areas.
Due to float precision issues it was basically random which of the two was used,
now it's slightly biased towards 128, which is the convention for flat colors.
The small difference between 127 and 128 could give problems with sharp glossy
shaders where it would be visible as seams.
2014-01-08 23:36:11 +01:00
Denis Declara
55f7a4aebc Fix T38104: mathutils.cell_vector() always returns (0,0,0)
Reviewed By: brecht
2014-01-08 23:03:09 +01:00
Brecht Van Lommel
b4644c658b Fix crash cancelling command line render to AVI movie file. 2014-01-08 22:28:29 +01:00
Brecht Van Lommel
7bcb34e59b Fix T38131: node link buttons (like for cycles in material properties) were not
giving correct colors with theme menu colors set to bright values.

Thanks to Denis Declara for finding the cause of this bug.
2014-01-08 20:41:38 +01:00
Brecht Van Lommel
61c9cacbd7 Fix T38074: sequence rendering gave "No camera" warning for other scenes that
didn't need a camera because they use only compositing nodes.
2014-01-08 18:29:16 +01:00
Thomas Beck
fa88c7ffae Fix T38105: Action Editor refresh is missing when a keyframe is inserted in 3D view
When yiz insert a keyframe (on a location keying set f.e.) in the 3D-view and you got an action editor open then the action datablock is  not changed (displaying only the button "new") until you hover the action editor with the mouse.

 Added a handler in the action_header_area_listener to handle this case

If non-obvious, some technical note about what the cause of the bug was and
how it was solved.
2014-01-08 17:57:33 +01:00
Brecht Van Lommel
09d6ad6142 Fix T38108: blender freeze in remembering operator properties. 2014-01-08 17:54:49 +01:00
Campbell Barton
cdeb3c3922 Fix for incorrect use of abs() in intersect_sphere_sphere_2d 2014-01-09 03:15:59 +11:00
Bastien Montagne
d5c9b509ec Fix issues with float precision in numinput, like 'R 123' who would show additional 'noise' digits.
Expose float precision helper in UI_interface.h API, so that numinput can use this helper as numbuttons already do.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D186
2014-01-08 17:05:05 +01:00
Campbell Barton
8305fd8841 Code Cleanup: style edits to bevel and remove unneeded boundvert_rep_face call 2014-01-09 00:50:32 +11:00
Howard Trickey
49aa701645 Add profile control parameter to Bevel.
Parameter controls concavity / convexity.
    <.25 means: concave inward
    .25 means: straight slanted
    >.25 means: concave outward
    .5 means: circular (the default)
    1 means: straight along original sides
For now, there is a hard lower limit of .15
because more work is needed to get decent
results in the range below that.

The profile is actually a superellipse, and the
parameter is 1/4 of the exponent in the implicit equation
for a superellipse, except at the extreme values of 0 and 1.
2014-01-08 07:40:01 -05:00
Campbell Barton
2dba2e72b7 Code Cleanup: de-duplicate text pasting which only used the first line 2014-01-08 17:39:12 +11:00
Campbell Barton
3fbd63c52e Text3d: improve error checking when pasting from files 2014-01-08 16:14:19 +11:00
Campbell Barton
4529fe9010 Fix for RE_engine_begin_result using a NULL pointer 2014-01-08 15:43:49 +11:00
Campbell Barton
8aaf4aaae8 Sequencer: prevent unknown scopes from crashing 2014-01-08 15:40:55 +11:00
Campbell Barton
b243b4fe40 Fix for inorrect use of BLI_utf8_invalid_strip, add assert to prevent it happening again. 2014-01-08 14:46:06 +11:00
Sergej Reich
3739f53a6e Fix T38112: Rigid Body can't be created for objects with linked mesh
Make poll function for rigid body add operators less strict.
2014-01-08 03:29:12 +01:00
Bastien Montagne
7647a2b751 Much better solution for negate/inverse in numinput.
Previous one was way over complicated, and did not worked with units!
2014-01-07 22:23:03 +01:00
Bastien Montagne
ab2bb94f6b Fix a small glitch with string generated by numinput, they could cut multi-bytes utf8 chars (like the '°' of angle values), now call BLI_utf8_invalid_strip() to prevent this. 2014-01-07 20:56:45 +01:00
Campbell Barton
d490e686f0 Fix T38100: laplacian smooth crash 2014-01-08 03:56:43 +11:00
Thomas Dinges
d2fd8c75b0 UI / Nodes: Revert Slider for "Value" node, this is no percentage nor a 0-1 range. 2014-01-07 16:35:52 +01:00
Lukas Tönne
e23bcbbb6d Fix for crash in anim render: The callbacks in bMovieHandle are expected
to exist and accessed without prior NULL checks (with exception of
get_next_frame and get_movie_path). The callbacks are not reliably
initialized however if none of the video formats is enabled (AVI being
the default). Added stub functions now that ensure access to
bMovieHandle callbacks is safe and doesn't crash.
2014-01-07 15:18:37 +01:00
Brecht Van Lommel
01df756bd1 Cycles Volume Render: scattering support.
This is done by adding a Volume Scatter node. In many cases you will want to
add together a Volume Absorption and Volume Scatter node with the same color
and density to get the expected results.

This should work with branched path tracing, mixing closures, overlapping
volumes, etc. However there's still various optimizations needed for sampling.
The main missing thing from the volume branch is the equiangular sampling for
homogeneous volumes.

The heterogeneous scattering code was arranged such that we can use a single
stratified random number for distance sampling, which gives less noise than
pseudo random numbers for each step. For volumes where the color is textured
there still seems to be something off, needs to be investigated.
2014-01-07 15:03:41 +01:00
Campbell Barton
b174e7b0b8 Fix for error in own recent commit 2014-01-08 00:57:58 +11:00
Bastien Montagne
e87095fa5d Cleanup: silence warnings. 2014-01-07 14:53:32 +01:00
Bastien Montagne
256a069987 Middle-clip tweaks:
* Now only middle-clip when both left and right parts of remaining strings are at least two times icon-width (thus most short labels will never be middle-clipped).
* Add a trailing ellipsis to right-clipped strings (unless it would take more than 20% of whole available width, in this case just clip chars, to keep as much data visible as possible!).
2014-01-07 14:53:32 +01:00
Campbell Barton
0213a43562 Armatures Editmode: option to recalculate roll from the angle to the parent 2014-01-08 00:35:11 +11:00
Campbell Barton
2328f94e1d Text3d: underline offset on curved path wasnt working right 2014-01-07 23:04:47 +11:00
Lukas Tönne
ebf23b5144 Fix T38075, crash from shader node add/replace tree view template.
The sanity check for copying socket default value was using the socket
idname for type compatibility checks, which is too strict. Subtypes
would not be recognized as copyable, but since only the plain data type
is needed below this is all that needs to be checked.

That alone would not cause crash (just missing default value copy),
but the tree view template was messing with the default_value DNA
directly by freeing it in advance, which is not necessary and should
be left to blenkernel when freeing the node. Otherwise this would
leave the node invalid without a default_value if the copy function
bails out.
2014-01-07 10:54:31 +01:00
Campbell Barton
54ebaad377 Text3d: Add support for underline characters with text-on-path 2014-01-07 20:19:20 +11:00
Campbell Barton
4a372102c7 Text3d: move text selection boxes from Curve to EditFont struct
resolves T38079
2014-01-07 17:12:24 +11:00
Campbell Barton
fee66f7bc8 Code cleanup: defines for statfs were getting out of hand for BSD's.
add __DragonFly__ and internal defines to avoid copy-pasting checks.

also remove __CYGWIN32__ check, since cygwin is no longer supported.
2014-01-07 13:39:00 +11:00
Howard Trickey
e164a500c8 Fix to own previous commit for bevel vertex only case.
In separating out the adj mesh change from a profile change,
I'd forgotten that some profiles need to be flat (in particular,
for vertex-only bevels). This fixes that.
2014-01-06 15:53:22 -05:00
Campbell Barton
bdd20e18ef Bevel: use stack memory for interp_vmesh()
Rather then using the memarena and never freeing.
2014-01-07 03:17:32 +11:00
Howard Trickey
e0a4a4afc3 Bevel: change 'adj' pattern to use subdivision.
This gets rid of a hacky way of setting the mesh
coordinates at corners, which created overlaps
in some cases.
Also, special case a cube-like corner with all
edges beveled, to snap to a sphere, giving more
expected curvature in that case.
2014-01-06 10:52:31 -05:00