Commit Graph

41237 Commits

Author SHA1 Message Date
Campbell Barton
ade0541b78 remove mask layer from default cube 2012-09-21 07:21:35 +00:00
Campbell Barton
1f8f7310e9 calculate sticky wasnt working very well and had a few glites -
updating data was only being done on the active object but sticly was being calculated for the selection.

split this into 2 operators, one that works on the selection and another that operates on the active object - so we can have a button in the mesh panels that calculates sticky.

also note that there was no way to calculate sticky from the UI - perhaps this feature should die a quiet death?

anyway - it works better then it used to for now.
2012-09-21 06:37:42 +00:00
Campbell Barton
d88d41b265 remove default name from CD_SKIN_NODE LayerTypeInfo so its treated as a singleton. theres no need to have multiple skin layers. 2012-09-21 06:14:22 +00:00
Dalai Felinto
91983a3b21 Logic Editor code cleanup > 2500 lines removed - old 2.49 UI code
since last two commits the UI has all the features we had in 2.49, time to remove the old code :)
2012-09-21 05:19:06 +00:00
Dalai Felinto
4610f613e1 2.49 Logic Editor functionality - Add Sensor/Controller/Actuator now possible for all selected objects (not only the active one) 2012-09-21 04:12:55 +00:00
Dalai Felinto
184a232ccc 2.49 feature: Game Controller State name shows up when mouse over them (the name of a state is the name of the top controller of this state)
review and small tweaks by Campbell Barton
2012-09-21 04:09:09 +00:00
Campbell Barton
b889e9c573 There was no way to remove mesh data layers from the interface - add a panel that works in object an editmode.
currently can remove sticky/mask/skin vertex layers.

regarding the skin layer - while adding and removing the modifier normally works fine, its not 100% reliable since the mesh may be linked into another scene, or be a linked duplicate and the object with the modifier deleted.
2012-09-21 03:41:59 +00:00
Keir Mierle
e38c1a5ae7 Make Euclidean resection "always" succeed.
The Euclidean resection code had a magical constant, 1e-3, used to
compare the results of solving an equation. This failure detection
was well-intended, trying to prevent poor solutions from getting
made without notifying the caller. Unfortunately in practice, this
threshold is too conservative. Furthermore, it is not clear the
threshold should exist at all; the purpose of the Euclidean
resection is to come up with the best solution it can; other
methods (e.g. reprojection error) should be used to compare
whether the method succeeded.

This commit changes the Euclidean EPnP code to always succeed,
causing the previous fallback to projective resection to never
run. In most cases, this will result in better reconstructions.

This should, in most cases, fix the dreaded "flipping" problem.
2012-09-20 18:55:44 +00:00
Sergey Sharybin
a4f73c5694 Fix #32579: Sequencer crash when changing render dimensions
Memory limitor's queue could be affected when it's being iterated
on enforcing limits -- that's because iteration could free color
managed image buffers.

Fixed by getting least priority element after every element was
freed. Could be optimized a bit, but it anyway shouldn't be so
slow due to specific of cache limiting and limit enforcing finish
condition.
2012-09-20 12:59:16 +00:00
Campbell Barton
5327c2f486 fix [#32602] Bevel operator's transform input is inverted
inset was inverted also
2012-09-20 12:42:22 +00:00
Campbell Barton
fbe13ab84a style cleanup 2012-09-20 12:29:28 +00:00
Campbell Barton
8771c9e2fe code cleanup: use frame as a prefix for rna properties 2012-09-20 12:16:00 +00:00
Sergey Sharybin
42558f83df Color Management: avoid byte->linear->byte conversion if display colorspace matches image's one
Solves slowdown when re-encoding byte image sequence or movie in sequencer.

Fixes #32605: Blender vse renders take more time to render than before
2012-09-20 11:35:33 +00:00
Sergey Sharybin
414bb1a5f0 Fix #32607: Color picker tool doesn't work properly: always pick black.
Regressions since color picking support from background image.
2012-09-20 10:38:12 +00:00
Sergey Sharybin
ddcc3f612a Fix #32603: Multi-Layer EXR files can't be color managed
Issue was caused by completely different way how multi-layer EXRs are loading,
they're bypassing general image buffer loading functions.

Solved by running color space transformation on render result construction
from multi-layer EXR image.

Also fixed issue with wrong display buffer computing for buffers with less
than 4 channels. Issues were:

- Display buffer is always expected to be RGBA
- OpenColorIO can not apply color space transformations on non-{RGB, RGBA}
  pixels.
2012-09-20 10:07:49 +00:00
Campbell Barton
be2454dc55 add back -Wundef for g++, also correct clang warnings and add -Wunused-macros warning. 2012-09-20 09:19:49 +00:00
Campbell Barton
b0c7c8756f code cleanup: cycles now uses system includes for boost/oiio.. etc, so we dont get warnings from system headers. 2012-09-20 09:04:43 +00:00
Campbell Barton
ff834242b7 ffmpeg was adding an include just incase, without a cmake find module here - just check if the dir exists. 2012-09-20 07:43:48 +00:00
Campbell Barton
f85af96d44 code cleanup: some redundant assignments in view3d_draw_bgpic() 2012-09-20 05:09:35 +00:00
Campbell Barton
edb78d090c code cleanup:
- make view3d project names more consistent.
- remove apply_project_float() its not needed.
- update comments referencing an old function name.
- move doxygen docs into the C file, prefer they are kept here to avoid getting out of sync with code.
2012-09-20 04:56:24 +00:00
Campbell Barton
f169643d46 fix [#32604] Loop select broken with Clipped view and wireframe 2012-09-20 03:45:18 +00:00
Keir Mierle
5e433927b5 Fix variable naming in the planar tracker. 2012-09-20 02:27:34 +00:00
Keir Mierle
0af0da957d Add smarter tolerance checking in the planar tracker.
The planar tracker uses Ceres for the refinement stage. During
refinement, Ceres iteratively updates the parameters with the
latest best guess. If the change in the parameters falls below a
threshold, Ceres will abort successfully ("converged").

For the case of pure translation tracking, the parameters are
exactly the two pixel shifts (dx, dy), and measuring the change in
these parameters gives a meaningful termination criterion.
However, for all the other parameterizations like affine, where
the parameterization involves affine parameters that have no
physical interpretation, Ceres is left with no way to terminate
the solver early. With the existing code, often many iterations
are run long after Ceres has found a solution sufficiently
accurate for all tracking needs. No one needs tracking with
a quadrillionth of a pixel accuracy; that time is wasted.

This patch extends the existing iteration callback that is passed
in to Ceres to check if the pattern has fallen out of the search
window, to also check if the optimizer has made a tiny step. In
particular, if the maximum shift of any patch corner between two
successful optimizer steps is less than a threshold (currently
0.005 pixels), the track is declared successful and tracking
is terminated.

This leads to dramatic speed increases in some cases, with little
to no loss in track quality. This is especially apparent when
tracking patches with affine or perspective motion models. For
example, on some tracking cases I tried, the iterations Ceres took
went from 50 to 3.
2012-09-20 02:10:33 +00:00
Campbell Barton
bc69b3a8df style cleanup 2012-09-20 01:32:13 +00:00
Campbell Barton
25c96bc9f3 code cleanup: remove unused macros, commet some which may be useful later - or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc 2012-09-20 01:02:39 +00:00
Campbell Barton
5d56a901a8 code cleanup: c++ - use empty() rather than size(), use prefix operators for non-primitive types - recommended for non primitive types. 2012-09-20 00:55:32 +00:00
Brecht Van Lommel
5205927892 Fix #32596: bones in armature created from skin modifier have wrong envelope
values.
2012-09-20 00:53:25 +00:00
Brecht Van Lommel
6cd32435a2 Fix #32598: clamp blender internal alpha channel to 0..1, and RGB to 0..inf,
to avoid compositing issues. The values can go out of bounds due to sharp
pixel filters.

In Cycles the alpha channel is already clamped, and there are no pixel filters
that could cause negative RGB values.
2012-09-20 00:39:27 +00:00
Brecht Van Lommel
56476248b6 Fix #32601: armature select similar missing from select menu. 2012-09-20 00:10:26 +00:00
Brecht Van Lommel
51eed03e94 Fix #31888: cycles crashes using movie for image texture. This is not supported
but should not crash either. This fix is more of a workaround, the crash seems
to be in openimageio or one of the libraries it uses.
2012-09-19 23:55:12 +00:00
Keir Mierle
a6f447427b Detect too-small planar tracking patches.
The planar tracker did not detect very skinny patches which have
effectively zero area and are untrackable. This adds detection and
rejection of patterns with zero area. This fixes a crash found by
during Mango production.
2012-09-19 22:25:02 +00:00
Keir Mierle
8a46b8454e Cleanup for when trackers fall out of the search window.
Sergey originally left a TODO() here, but his fix is the correct
one. I removed the TODO and fixed some comment issues.
2012-09-19 22:01:42 +00:00
Sergey Sharybin
a09b5c1f20 Color Management: new generated images had empty color space by default
Now use default byte/float colorspace when creating new image.
2012-09-19 19:53:16 +00:00
Bastien Montagne
8801008507 Fixed "cleaning" of some menu labels (those with all the ugly %t/|), wasn't working in all cases.
Also cleaned some old, no more used piece of code.
2012-09-19 19:42:01 +00:00
Gaia Clary
f3d261d795 Collada(exporter): Added error message when export file can not be created for whichever reason 2012-09-19 19:28:29 +00:00
Bastien Montagne
b25bea036f Add a "Header" sub-menu to the right-click one of all buttons in a header area. Also header tools entries are now translatable! 2012-09-19 18:47:41 +00:00
Bastien Montagne
0aa26903f5 Makes no sense to have render engine property animatable! 2012-09-19 17:37:15 +00:00
Dalai Felinto
39d57e97be using the utf8 flipped form of Hebrew for the ui 2012-09-19 17:19:39 +00:00
Sergey Sharybin
d8ffe32074 Small fix for Follow Track constraint
Use object_get_derived_final() function instead of accessing to object's
derived final directly.

The same happens for shrinkwrap constraint and it should deal better in
cases when depth object is in edit mode. In other cases should be no
functional changes.
2012-09-19 17:19:30 +00:00
Sergey Sharybin
ef216ee558 Mark movie clip user current frame as editable
It should be pretty safe change which would allow doing stuff like
python-defined tracking routines without need to update the whole
scene when it's needed to perform some operation on different clip
frame.

It'll be possible to write operators similar to tracking, which
updates space clip's frame number, but not scene frame when tracking
and only synchronizes scene frame number on operator finish.
2012-09-19 17:14:43 +00:00
Brecht Van Lommel
3bf576e57e Fix missing dependency graph update when switching to another scene, now does
same update as loading .blend or switching layer visibility.
2012-09-19 17:11:07 +00:00
Brecht Van Lommel
f12d698ead Fix #32576: missing image editor update when entering edit mode with UV textures. 2012-09-19 17:09:14 +00:00
Brecht Van Lommel
2e80d9ccc0 Fix #32018: non-progressive integrator crash. 2012-09-19 17:09:11 +00:00
Sergey Sharybin
d0f4c96394 Color Management: don't apply display transform on Non-Color images
Also don't color manage data buffers in texture painting.

Makes it possible to view heights and normal maps in proper space
and also paint on them without applying extra transformation.
2012-09-19 15:01:36 +00:00
Sergey Sharybin
16a698ad4a Fix crash when tracking in planar motion model (and maybe some other)
It was an Abort() caused by check for solver result not equal to USER_ABORT.

In some cases solver returns USER_ABORT due to BoundaryCheckingCallback
detects coordinates does not belong to image.

Somehow this callback wasn't called in previous version of Ceres and
in the same case marker was jumping. Now when the callback is called
it seems we could simply return failure of tracking without aborting
Blender.

Probably this is in fact some issue somewhere else, would double
check with Keir about this.
2012-09-19 12:43:39 +00:00
Sergey Sharybin
5a3e474cc6 Tracking: fixed crash when reference frame fails to be loaded 2012-09-19 12:43:32 +00:00
Campbell Barton
15ce5f95b3 joining mesh objects now keeps relative key setting of each keyblock. also joining absolute shapekeys now sorts by time. 2012-09-19 12:11:28 +00:00
Campbell Barton
0d5d2146eb code cleanup: make shape key api names consistent with our new convention. 2012-09-19 10:12:07 +00:00
Campbell Barton
f5d3e361ce fix for missing NULL check in init_render_texture() (possibly own fault), also remove some redundant code. 2012-09-19 08:09:22 +00:00
Campbell Barton
123a25c52b fix txt_redo_read_unicode() missing break - reading 4 byte unicode would fail, same fix was made for txt_undo_read_unicode() recently. 2012-09-19 08:07:23 +00:00