Commit Graph

41776 Commits

Author SHA1 Message Date
Lukas Toenne 4d4ef0434b Make dynamic node labels possible as a registerable function 'draw_label' (simple 'label' identifier is already in use, need to avoid API breakage). This should simply return a string. The dynamic label can still be overridden by the user-defined node.label string. 2013-11-12 18:18:04 +00:00
Lukas Toenne 8663b940ed Instead of requiring a const char* return from the (optional) node label callback function, let it write into a mutable string buffer. This will allow actual dynamic labels for nodes using the python
API.
2013-11-12 18:17:58 +00:00
Irie Shinsuke ba7fd8cd5c Change the behavior of AO pass in Blender internal's shader/render node tree so that it becomes (1.0, 1.0, 1.0) when AO is disabled.
For materials using AO pass, this makes the material preview and the GLSL
preview more accurate, but shouldn't affect final rendering in most cases
because we usually enable AO when using the AO pass in node tree.

Thanks to Brecht for code review.
2013-11-12 10:59:40 +00:00
Tamito Kajiyama ef1bc03fce Fix #37092 and #37381: crashes in the .object() method of Freestyle iterators.
Now the method checks if the iterator is at the end, and returns None if that is the case.
2013-11-12 02:28:26 +00:00
Bastien Montagne 59e4600526 Fix [#37380] vertex paint colors don't render.
Another Evil Typo (r) one, you could add much more than the 8 allowed VCol layers!

Note: added some (warning-only) checks in mesh validate functions, but we still have a big issue with new cdlayer merge function, which could generate more than 8 layers of UVs or VCol... Don't know yet how to handle this situation. :(
2013-11-11 20:37:19 +00:00
Bastien Montagne 7fc1088164 Fix [#37388] Grid fill crashes blender in specific situation.
With some geometries, we can have a valid first path, without being able to find a valid second one, added needed check.
2013-11-11 14:29:01 +00:00
Howard Trickey 3967371886 Used wrong RNA access routine in bevel amount commit. 2013-11-11 12:19:39 +00:00
Sergey Sharybin dcfb858a76 Fix #37395: Rendering with a movie strip behind a scene shows inconsistent results
For now just make sure conversion to sequencer space will ensure imbuf's
color space names is set properly.

Might be some further changes needed to make colorspace flow more clear
in sequencer, but that's for later.
2013-11-11 12:08:31 +00:00
Bastien Montagne 647f425265 Fix [#37394] UV Map cannot be renamed.
Own epic failure! CustomData_get_named_layer() returns a relative index, not an absolute one. :(
2013-11-10 20:32:27 +00:00
Bastien Montagne d27f8103dd Fix [#37393] Input dimensions are case sensitive in the property panel, uppercase input is misinterpreted
Typo in lowercasing code!
2013-11-10 19:51:44 +00:00
Campbell Barton aaa99106fe make IS_EQ and IS_EQF typecheck args 2013-11-10 14:13:26 +00:00
Campbell Barton 8cf39603f7 replace IS_EQ -> IS_EQF for use with floats. 2013-11-10 12:56:50 +00:00
Howard Trickey bfb9cefccb Added options for how bevel amount is measured.
Now there is an 'Offset Type' dropdown on tool
shelf with types:
Offset - current method, offset of new edge
  from old along sliding face
Width - width of new bevel face (if segments=1)
Depth - amount a chamfering plane moves down
  from original edge
Percent - percent of way sliding edges move
  along their adjacent edges

The different options mainly are useful when
beveling more than one edge at once.

Leaving as a TODO to put these in the modifier,
as doing that has more permanent effects so
want to let users shake out problems with this
first.
2013-11-10 12:31:57 +00:00
Campbell Barton 73c2253ac6 mistake in last commit 2013-11-10 12:29:15 +00:00
Campbell Barton 07534f05d5 no need to call isnan() on unsigned ints (causes error on freebsd/clang) 2013-11-10 12:26:03 +00:00
Bastien Montagne a352670791 uiList: fix another bug, where active item labels in sublayouts would not get colored as active (need recursion in sublayouts!). Was affecting e.g. Group node inputs/outputs lists. 2013-11-09 18:44:37 +00:00
Bastien Montagne efa23a47ed uiList: fix a bug in computing visual active index (afaict, in case of reordering, was affecting "keep active visible" feature when resizing, and the "active label color" in custom themes). 2013-11-09 17:05:07 +00:00
Thomas Dinges cc7b2a0b04 Cycles / Fresnel Node:
* Add a "Normal" Input to the Fresnel node.
* Fix for the Fresnel GLSL code (normalize the Incoming vector).

Patch #37384 by Philipp Oeser (lichtwerk) , thanks!
2013-11-09 13:14:00 +00:00
Bastien Montagne 396fb315c5 More fix for [#37327] Inconsistent numeric input conversion.
When a single element is involved, apply directly the values instead of using the diff from init values. This avoids glitches when going from huge values to very small ones (due to float precision).

Note we should probably switch to doubles here, ultimately, but would leave that for later.

Manys thanks to Armin Zingler, who did all the investigation work on this point!
2013-11-09 10:35:32 +00:00
Sergey Sharybin ac6d91b939 Be ready for changes in bf-translations repository
Made it so if there's release/datafiles/locale/po
folder, then all the .po files will be converted
to .mo at blender compile time and installed to
an appropriate location.

Uses small own implementation msgfmt which is
based on msgfmt.py from Python project, but also
supports contexts.

There's no functional changes for until we've
switched to use source .po files instead of
pre-compiled .mo.

P.S. Well, there's one change which is msgfmt.cc
     being compiled even if it's not used, but
     would rather not clutter code with checks
     since pretty soon we'll use this program
     anyway.
2013-11-08 20:44:48 +00:00
Sergej Reich 0d1a499366 knife tool: Remove unused 'extend' variable 2013-11-08 18:01:07 +00:00
Sergej Reich b144f15579 knife tool: Clean up line hits when starting a new cut
Fixes intersection points of the previous cut still being drawn when
starting a new cut.
2013-11-08 18:01:05 +00:00
Campbell Barton 774987a381 use assert to check for incorrect use of BLF_draw_ascii() 2013-11-08 15:01:43 +00:00
Bastien Montagne 5ef717bec6 [#37327] Inconsistent numeric input conversion.
Issue was actually that micrometer was not drawing correctly (from r58165), reverted that fix and instead use utf8 drawing for editmode metrics when using a unit system (we already had a similar hack for surfaces and volumes, anyway).
2013-11-08 11:25:50 +00:00
Campbell Barton bbade535fb fix for crash when deleting from an id property, with a non-string key. 2013-11-08 08:46:43 +00:00
Sergey Sharybin 67162306a7 Tweak for ui range of track size in 3d viewport
Patch by Sebastian Koenig, thanks!
2013-11-07 14:07:13 +00:00
Bastien Montagne a0286f42f9 "Render Audio" cleanup:
* Removed audio-only options from ffmpeg render settings (added some versionning code too)!
* Moved the Mixdon button from the Scene->Audio pannel to the Render->Render panel.
2013-11-07 13:32:32 +00:00
Bastien Montagne 56e283408a Fix the small mess in read versionning code (we had two "pending versioning" blocks, and a triangulate one that was outside of any block, plus I think existing "pending versionning" code was not added when 2.69.2 sub-version was created...).
Moved all non-yet-versioned stuff back into a single block at the end, let’s try not to forget to integrate it for 2.69.3! ;)
2013-11-07 13:14:33 +00:00
Joerg Mueller bef6b06a47 Fix for [#36819] *AFTER 2.69* Audio Only Sequencer wont render
The original description is not a bug, but the mixdown options were missing as scons was lacking the required defines during compile time.
2013-11-07 12:33:35 +00:00
Lukas Toenne c2aca3b517 Fix for node transform offsets when adding new nodes: The transform operator was using the node->totr rect for defining the initial location of the node - but this is only defined after the node has been
drawn at least once, so nodes would jump to (0,0) after adding ... Use the locx/locy instead (including DPI factor), which is more reliable.
2013-11-07 09:15:29 +00:00
Lukas Toenne 81184c6173 Fix for node link highlighting not getting reset if a transform operator is cancelled and the node removed. Pass the 'test' option in node link insert testing on to the conditions function, so that at least the highlight flags get cleared before exiting the link insert function, even if there is no actual selected node to insert. 2013-11-07 09:02:30 +00:00
Lukas Toenne 9708f7921d Cleanup: nice bool return value from ed_node_link_conditions function instead of using the space pointer for this. 2013-11-07 09:02:29 +00:00
Lukas Toenne f07ed3c270 Removed the automatic "link swapping" feature from the node link operator: When a link was being dragged to an already connected input, the existing links were shifted to the next free socket. This was
originally intended as a way to speed up workflow for math and mix nodes, but more often than not it just gets in the way. Most binary (or n-ary) functions are not even commutative, i.e. changing the
order of sockets does not usually produce the correct result. Also this includes the more common case where one actually wants to replace a socket, which then requires a second click to remove the
shifted connection. All in all this is not a helpful feature.
2013-11-06 21:21:37 +00:00
Lukas Toenne 232c97fdeb Fix for error in r61159: the new gpencil_new_layer_col in UserDef is supposed to be a 4 float RGBA color, but has only 3 floats. This was overwriting tweak_threshold in UserDef and breaking transform
operators ...
2013-11-06 21:08:16 +00:00
Bastien Montagne ad34a5cc1b Fix [#34675] *AFTER 2.69* Info view shows duplicate operators with incorrect values of args
Refactored a bit WM api to generate operator's pystring, now it can also handle correctly macro operators. Thanks to Campbell for the review!
2013-11-06 20:56:18 +00:00
Mitchell Stokes 5cd28bbe80 BGE: Fix for #37335 "Moving the camera with a key (after the recent BGE cleanup commits) now crashes the game" reported by Ace Dragon.
CcdPhysicsEnvironment->GetCharacterController(); was missing a NULL check.
2013-11-06 19:40:37 +00:00
Lukas Toenne 61c411068b Patch #37274: Circle select for node editor, by Henrik Aarnio (hjaarnio).
Circle select was missing from node editor, and C key was assigned to now defunct "show cyclic dependencies". This patch remaps the key and adds circle select operator.
Functions to check intersection between rctf/rcti and a circle were also added to rct.c for code cleanliness and consistency.
2013-11-06 19:21:42 +00:00
Lukas Toenne 549ed3d378 Removed the "Show Cyclic Dependencies" operator for nodes. This operator is an old relic implemented for showing cyclic node connections as red links. This is not necessary any more, the operator simply
called the generic node tree update function, which is happening anyway after all relevant node operators (if it doesn't that has to be considered a bug).

It has been suggested to better use the C key for circle select, this remains to be discussed.
2013-11-06 18:56:51 +00:00
Lukas Toenne 7398600090 True grid snapping for nodes: This snaps nodes to the actual background grid instead of using incremental offset (which is not useful for nodes). Increment snapping has been disabled for nodes to avoid
confusion, grid snap is now the default as it seems to be the most wanted and easy to use mode.

Absolute grid snapping happens in a somewhat generic function 'applyGridAbsolute', which could also be used for objects and other transforms later on. It is conceptually similar to the 'project' snapping
option, in that it calculates a delta vector for each element on top of the overall transform, which places each node on the grid.

Node transform now uses the top-left node corner for TransformData->loc. The transform center is still the average of node centers, so that scaling and rotation works nicely.

snapGrid*** functions have been renamed to snapGridIncrement*** to distinguish better between incremental and absolute grid snapping.
2013-11-06 17:46:32 +00:00
Howard Trickey 3143536b08 Fix knife bug exposed by valgrind.
Was reading cage coordinate from those of existing
BMVerts even for newly created verts that don't
have cage coordinates there.
2013-11-06 15:27:19 +00:00
Lukas Toenne b8f22a0565 Syncing methods for Color Balance node LGG and ASC-CDL modes. The settings for either mode are converted into equivalent settings of the other. This keeps the result of both modes roughly the same and
mimics the previous behavior when settings were shared by both modes (but not equivalent).
NOTE: Due to the use of additional sRGB conversion in the LGG mode the result is not entirely accurate, this should perhaps be fixed.

Settings for each mode are kept in their own color values nevertheless, this avoids potential problems with float precision.
2013-11-06 12:44:54 +00:00
Lukas Toenne b91e841f8f Fix #37333: Bad default value in Color Balance. Use independent offset/power/slope variables for the CDL mode in color balance node. This avoids stupid default values in particular for offset, which would be 1 when just using the lift value for it. 2013-11-06 12:44:51 +00:00
Lukas Toenne b9aa637b83 Removed the DNA storage for LGG lift and inverse gamma in the color balance node. These values were always calculated at execution time, so there is no need to keep them around in DNA data and no forward compatibility break either. Only reason they were stored in DNA before is that the old compositor had no other means of keeping precomputed values around for every pixel than storing the DNA node data, with new compositor this is no longer necessary (values are stored in operations). 2013-11-06 12:44:49 +00:00
Joshua Leung 50ac2ee8de Grease Pencil: User-Pref for setting the default colour of newly created layers 2013-11-06 10:59:05 +00:00
Sergey Sharybin 17994825f0 Fix #37251: Snap not working correctly in metaball edit mode.
It wasn't enabled in snapping code from the beginning it seems,
but from quick tests snapping for mballs works just fine.

Maybe we could drop out check for edit object type now?
2013-11-06 08:27:18 +00:00
Brecht Van Lommel 99c5e71397 Quicktime: remove backend with the old quicktime API, and keep the QTKit backend.
This means that if you have WITH_BF_QUICKTIME or WITH_CODEC_QUICKTIME enabled,
it will always use QTKit.

The old backend was only used on 32 bit OS X builds, now 32 and 64 bit builds will
give consistent input/output. On Windows or Linux quicktime isn't being used.
2013-11-06 01:45:15 +00:00
Kevin Mackay 299812f28d Made active point and active spline behaviour more predictable on curves/surfaces:
* deselect all no longer leaves an active point
* the most recently added spline becomes the active one
* on successful duplicate/delete the active point and active spline are reset
2013-11-05 23:37:09 +00:00
Campbell Barton 7874447e4a code cleanup: typo and warning when openmp's disabled. 2013-11-05 21:59:30 +00:00
Campbell Barton 53dccd94a4 patch [#37305] Quick Hack: Armature Mirror Select
from Terry Struven (tlstruven), with some modifications.
2013-11-05 21:47:35 +00:00
Jens Verwiebe dba787f529 OSX/player: Remove some very old code ( 11 years+ ), was commented anyway 2013-11-05 20:30:09 +00:00