Commit Graph

6137 Commits

Author SHA1 Message Date
Sergey Sharybin
dae43b5487 Camera tracking: multiply all camera matrices by inverted first reconstructed camera matrix
This makes blender camera:
- Be located on exactly the same position at first frame after applying
  Camera Solver constraint
- Be looking in exactly the same direction it used to look before
  applying Camera Solver constraint

Before this patch in most of cases camera used to change direction
after applying solved data on it which can be confusing in some cases.

Currently solved files wouldn't be broken, but after solve scene should
be re-oriented. Not big deal because re-solving isn't so safe for scene
orientation anyway.
2011-11-18 14:42:18 +00:00
Campbell Barton
aa19d53de1 edits to 41957, main changes to render layer removal.
- report an error if the layer can't be removed
- check the render layer is in the list before removing
2011-11-18 08:42:44 +00:00
Sergey Sharybin
9f0a6dca13 Added methods new and remove to scene.render.layers, so now render layers
can be created and removed from scripts.
2011-11-18 07:11:54 +00:00
Campbell Barton
db44a92a11 pydrivers: 'frame' is now in the driver namespace,
- no need to link to scenes when using a frame from the pydriver, this made linking rigs for eg, quite messy.
- advantage that we get subframe values (where scenes from was fixed to a whole number).
2011-11-17 07:08:09 +00:00
Bastien Montagne
819d1f417d Fix [#29190] VSE bugs.
Only real bug was, that effect strips' start frame and length were editable. Made all four frame properties readonly on RNA level for those kind of strips (those for which get_sequence_effect_num_inputs returns a non-null value).

Also fixed the tooltip of frame_final_duration.
2011-11-16 20:03:54 +00:00
Campbell Barton
3dcc9aef96 merge mempool changes from bmesh (adds mempool iterator). 2011-11-16 19:31:42 +00:00
Miika Hamalainen
9f51785c4d Dynamic Paint:
* Wave simulation speed doesn't anymore depend on surface size, but uses relative distances instead. This change will likely change simulation behavior on existing saves, but can be easily tweaked back using the "Wave Speed" parameter.
* Added a new wave brush type, "Depth Change". It uses the change of brush intersection between frames, giving a better looking "wake" for moving objects. It also doesn't leave any "dent" to the surface while remaining still.
2011-11-16 18:32:28 +00:00
Campbell Barton
4d9766aacf minor cleanup
- remove / comment unused python vars
- replace mul_v3_fl(somevec, -1.0f); with negate_v3(somevec);
2011-11-16 16:38:37 +00:00
Campbell Barton
0c7a25cd0e patch [#28993] wm_window_match_do(): Fix crash on null pointer dereference
from Ola Jeppsson (olajep)

also some cleanup edits
2011-11-15 16:38:48 +00:00
Campbell Barton
2bc7821913 add support for python __doc__ comments in menu classes showing in the tooltip, since menus are used as buttons too. 2011-11-15 14:58:14 +00:00
Campbell Barton
3ecb7b951e fix [#29272] Dynamic Paint crashes on duplicating a particle system
smoke had this same bug too
2011-11-15 13:45:24 +00:00
Sergey Sharybin
3d724d8df5 Camera tracking: made some options more easy to understand
- Changed some names so now people who aren't really familiar with
  motion tracking can understand what they exactly means
- Also cleaned up and rephraded some descriptions
- Changed behavior of operator which creates empty for 2d tracks:
  now it operates on all selected tracks rather than active track only
- Added checkbox to enable/disable rotation stabilization
2011-11-15 12:20:58 +00:00
Campbell Barton
6a340c1eb0 py/rna api was calling RNA_property_type more often then needed (no functional change) 2011-11-15 11:56:54 +00:00
Joshua Leung
1a47f9516e Formatting cleanup. No functional changes 2011-11-15 11:34:49 +00:00
Campbell Barton
3cf56d46d1 add IDP_EqualsProperties support for comparing non-null terminated byte strings. 2011-11-15 10:32:08 +00:00
Bastien Montagne
995ca539d0 Fixed compilation error in writeffmpg.c (caused by recent IDProp changes). 2011-11-15 10:01:18 +00:00
Campbell Barton
8623935aa8 pass a pointer to IDP_New's IDPropertyTemplate rather then a copy. 2011-11-15 09:22:52 +00:00
Campbell Barton
2ab1732613 support for non-null terminated byte strings in id properties (as a subtype of IDP_STRING types) 2011-11-15 09:12:10 +00:00
Campbell Barton
ab3295db33 fix for crash in blenderplayer when the engine isnt fount. 2011-11-15 07:30:26 +00:00
Dalai Felinto
d6e0508746 Text Editor: implement space-as-tab navigation
When "use tab as space" is on we will jump the spaces as if they were one single tab when navigating (left/right).
Tabsize still is hardcoded to 4, but this is a separate design issue left for another patch.

* patch done in the airplane while expaining the Text Editor code for a potencial new coder @ Blender PRO 2011 *
2011-11-14 17:33:32 +00:00
Miika Hamalainen
90871d54c5 Fix: Last triangle wasn't always drawn when VBO enabled. 2011-11-14 16:34:11 +00:00
Campbell Barton
49ccf975f2 minor cleanup
- use NULL rather then 0 for pointers
- use static functions where possible
- add own includes to ensure func's and their declarations don't get out of sync.
2011-11-14 16:05:44 +00:00
Thomas Dinges
5b5f776eae * Recommit of "a" BLENDER_VERSION_CHAR. 2011-11-14 15:29:59 +00:00
Campbell Barton
9e6860d864 fix [#29242] menus have no keyboard shortcuts 2011-11-14 14:42:47 +00:00
Campbell Barton
a7ed8f5e4a fix for shiftx/y for recently added VIEW3D_OT_camera_to_view_selected operator. 2011-11-14 08:43:09 +00:00
Miika Hamalainen
5a01ec56da Fix for [#29247] Incorrect black color with dynamic paint 2011-11-14 08:18:04 +00:00
Campbell Barton
11a7a406fb DPAINT_OT_output_toggle operator was using an index option for what was really a toggle between 2 values, changed its index option to an enum.
if a value other than 1/0 was given it would use an uninitialized pointer too (compiler warning, review should pick up this stuff).

also renamed some RNA attrs:
 output_name --> output_name_a
 output_name2 --> output_name_b
 do_output1 --> use_output_a
 do_output2 --> use_output_b
 do_smudge --> use_smudge
 max_velocity --> velocity_max
2011-11-14 06:46:07 +00:00
Sergey Sharybin
f474576351 Camera tracking: interface cleanup and small buttons renaming
- Move tracking-related constraints to own section in list
  Currently there are only two constraints, so can look a bit odd,
  but it'll be other constraints like "Object Solver" and so.
- Move motion-tracking parameters from 3D viewport Display panel
  to it's own panel.
- Get rid of "Bundle" in 3d viewport. It's quite obvious that it's
  a 3D representation of tracks is used in 3D viewport and it shouldn't
  be so confusing for artists now.
- Also get rid of "Bundle" in Follow Track constraint.
  Old files can change a bit because of changes in DNA.
- Also get rid of "Bundles" in operator which creates vertices cloud
  from 3D position of tracks.
- Rename "Principal Point" to "Optical Center" in the interface.
2011-11-14 06:41:42 +00:00
Sergey Sharybin
0f82384fd0 Camera tracking: code cleanup 2011-11-14 06:41:32 +00:00
Sergey Sharybin
6fbc4186fd Assorted camera tracker improvements
- Add support for refining the camera's intrinsic parameters
  during a solve. Currently, refining supports only the following
  combinations of intrinsic parameters:

    f
    f, cx, cy
    f, cx, cy, k1, k2
    f, k1
    f, k1, k2

  This is not the same as autocalibration, since the user must
  still make a reasonable initial guess about the focal length and
  other parameters, whereas true autocalibration would eliminate
  the need for the user specify intrinsic parameters at all.

  However, the solver works well with only rough guesses for the
  focal length, so perhaps full autocalibation is not that
  important.

  Adding support for the last two combinations, (f, k1) and (f,
  k1, k2) required changes to the library libmv depends on for
  bundle adjustment, SSBA. These changes should get ported
  upstream not just to libmv but to SSBA as well.

- Improved the region of convergence for bundle adjustment by
  increasing the number of Levenberg-Marquardt iterations from 50
  to 500. This way, the solver is able to crawl out of the bad
  local minima it gets stuck in when changing from, for example,
  bundling k1 and k2 to just k1 and resetting k2 to 0.

- Add several new region tracker implementations. A region tracker
  is a libmv concept, which refers to tracking a template image
  pattern through frames. The impact to end users is that tracking
  should "just work better". I am reserving a more detailed
  writeup, and maybe a paper, for later.

- Other libmv tweaks, such as detecting that a tracker is headed
  outside of the image bounds.

This includes several changes made directly to the libmv extern
code rather expecting to get those changes through normal libmv
channels, because I, the libmv BDFL, decided it was faster to work
on libmv directly in Blender, then later reverse-port the libmv
changes from Blender back into libmv trunk. The interesting part
is that I added a full Levenberg-Marquardt loop to the region
tracking code, which should lead to a more stable solutions. I
also added a hacky implementation of "Efficient Second-Order
Minimization" for tracking, which works nicely. A more detailed
quantitative evaluation will follow.

Original patch by Keir, cleaned a bit by myself.
2011-11-14 06:41:23 +00:00
Campbell Barton
bb934ad883 Ocean baking was using uninitialized memory, but further investigation it was calculating foam values when they were not used.
avoid calculating foam and allocating memory when its not needed.
2011-11-14 05:55:50 +00:00
Campbell Barton
a34fed3f2c VIEW3D_OT_camera_to_view_selected operator to move the camera to frame
all selected, renderable objects.
2011-11-14 03:54:23 +00:00
Bastien Montagne
fea58943ec Moving all node angle-type values to radians. This also fixes [#29151] rotate node wrong input (mixing up radians and degrees).
Warning!

Angles in nodes have just been moved to consistant Radians values (ANGLE subtype of RNA Float property). You will still see them as degrees in the GUI, though, unless you chose otherwise in Scene properties, Units panel.

Conversion from degrees to radians for old files is obviously done at loading time, but if you use a mixed pipeline of trunk and releases, be carefull!

Loading a 2.60.4 file (or higher) into any previous version of Blender, your angles in nodes will have odd values (well, radians interpreted as degrees)!

And if you save such file in a pre-2.60.4 version, the angle node values will be converted again when loaded in Blender 2.60.4 or higher...

This affects following nodes:
* Compo: Rotate, Defocus, ChromaMatte, Glare and DirectionalBlur
* Shader: Mapping
And all future code using the TexMapping struct’s rotation part (its rot memember is now in radians).
2011-11-13 18:03:27 +00:00
Sergey Sharybin
3689830484 Camera solving: fixed incorrect warnings about failure of solving some frames
Error was caused y not very accurate calculating which frames should be solved.
2011-11-13 17:16:04 +00:00
Bastien Montagne
b9cc1f7590 Quiting a warning in Ocean code (commenting out var). 2011-11-13 16:38:14 +00:00
Thomas Dinges
fbf9406785 Release cycle:
Moving on to BCon 3: beta
2011-11-13 16:24:15 +00:00
Campbell Barton
dfd20bb888 remove double promotions and some formatting edits (tabs & spaces mixed) 2011-11-13 16:10:01 +00:00
Campbell Barton
8b32341775 ensure that the path and directory are joined correctly for ocean cache (assumed path ended with a '/') 2011-11-13 15:17:24 +00:00
Lukas Toenne
cbef65deda Stub data in Ocean modifier when disabled, C standard does not allow empty structs. 2011-11-13 14:39:10 +00:00
Campbell Barton
7d0b5920c6 rename cmake WITH_OCEANSIM --> WITH_MOD_OCEANSIM and tag CYCLES_CUDA_BINARIES_ARCH as advanced. 2011-11-13 14:16:43 +00:00
Campbell Barton
46a673c295 fix another buffer overrun error, also replace BLI_snprintf with BLI_strncpy since no formatting is needed in this case. 2011-11-13 13:56:40 +00:00
Lukas Toenne
11c83d8432 Ocean Sim modifier patch
by Matt Ebb, Hamed Zaghaghi

This adds a new Modifier "Ocean" to simulate large-scale wave motion.
Details can be found in the wiki documentation [1], the project homepage [2] and the patch tracker [3]

The modifier is disabled by default for now. To enable it, the WITH_OCEANSIM (cmake) / WITH_BF_OCEANSIM (scons) flags have to be set. The code depends on fftw3, so this also has to be enabled.

[1]
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Ocean

[2]
http://www.savetheoceansim.com

[3]
http://projects.blender.org/tracker/?group_id=9&atid=127&func=detail&aid=28338
2011-11-13 12:17:27 +00:00
Joshua Leung
8da2812100 Bugfix [#29125] Motion paths odd behaviour
* Made it impossible to try to calculate/create new motion paths lasting 0
frames (i.e. 250 to 250) since we cannot allocate a zero-length array for these.
Start frame can now be at most end-frame - 1, and end frame at least start frame
+ 1

* If an invalid configuration does occur, warnings/reports will now be issued in
response to this instead of silently failing (as per this bugreport).
2011-11-12 04:40:53 +00:00
Campbell Barton
e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
Campbell Barton
094c9799f9 quiet -Wdouble-promotion warnings 2011-11-11 12:00:08 +00:00
Miika Hamalainen
4ef2089097 Dynamic Paint:
* Renamed "Sharp" proximity falloff to "Constant".
* Added a new "Negate Volume" option for "Volume + Proximity" brush.
* Possible fix for random particle clipping errors.
2011-11-11 10:46:26 +00:00
Campbell Barton
1649521abe fix [#29203] Camera can still move even when transforms locked
added object_tfm_protected_backup, object_tfm_protected_restore so its easier to transform the object and respect protected channels (otherwise you need checks everywhere for each channel which is verbose).
2011-11-11 05:34:07 +00:00
Campbell Barton
11947f1a67 pep/style edits & quiet some warnings 2011-11-11 03:28:46 +00:00
Guillermo S. Romero
c8cb79a11f SVN maintenance. 2011-11-10 17:43:37 +00:00
Sergey Sharybin
8ef6d50185 Mark unused variable. 2011-11-10 17:19:12 +00:00