Commit Graph

10681 Commits

Author SHA1 Message Date
8ef3c42f80 Fix #35347: constraints with vertex group targets were not using the vertex group
weights, it assumed all weights were 1. This gave very different results with the
new bevel modifier due to slightly different vertex group interpolation.
2013-05-14 16:22:53 +00:00
cfbf9c324b style cleanup 2013-05-14 06:58:35 +00:00
d4c6ac9a60 Cleanup and small improvements to libmv
- Added const modifiers where it makes sense and
  helps keep code safe.
- Reshuffled argument to match <inputs>,<outputs>
  convention on parameters.
- Pass values to ApplyRadialDistortionCameraIntrinsics
  by a constant reference.
  This will save lots of CPU ticks passing relatively
  heavy jet objects to this function when running
  bundle adjustment.
2013-05-13 14:39:06 +00:00
682da3ac98 Apply scale on scene reconstruction when applying scale on camera
This means when you've got reconstructed scene assigned to a
3d camera (via camera solver constraint) and applies scale on
this camera from Ctrl-A menu, scale will be applied on the
reconstructed scene and reset camera size to identity.

This is very useful feature for scene orientation, when you'll
just scale camera by S in the viewport to match bundles
some points in the space, and then you'll easiy make camera
have identity scale (which is needed for nice working moblur
and other things mentioning by Sebastian :) without loosing
scale of bundles themselves.

Behavior of apply scale for cameras without clip assigned
to them does not change at all.
2013-05-13 13:37:05 +00:00
6bd58ac967 fix [#35335] Crash when rendering a text object with a remesh modifier and a material texture 2013-05-13 07:13:28 +00:00
c961c56c64 add missing STACK_INIT, also quiet float <> double conversion warnings. 2013-05-13 02:10:59 +00:00
32faec1a53 Remplace bunch of annoying ifdefs in tracking.c with a libmv-capi_stub.cc
Makes code in tracking.cc much easier to understand and modify,
without worring to breck compulation with Libmv disabled.

It is still possible compilation will break due to libmv-capi
changes, but that's not happening so much often.
2013-05-12 22:17:37 +00:00
33651da150 Fix for keyed marker search not happening correct in some cases
Was an heuristic failure writen for cases when there's no keyframe
in desired direction. Shall all be fine now.
2013-05-12 21:57:57 +00:00
87b308fc23 Fix for "no functional changes" commit
Apparently eitehr merge conflict happened, or i had
too much depression in blood, but first camera was
just wrong after reconstruction.
2013-05-12 18:50:39 +00:00
d9ca50ff64 Refine markers position operator
This operator will run a tracker from previous
keyframe to current frame for all selected markers.
Current markers positions are considering initial
position guess which could be updated by a tracker
for better match.

Useful in cases when feature disappears from the
frame and then appears again. Usage in this case
is the following:

- When feature point re-appeared on frame, manully
  place marker on it.
- Use Refine Markers operation (which is in Track
  panel) to allow tracker to find a better match.

Depending on direction of tracking use either
Forwards or Backwards refining. It's easy: if
trackign happens forwards, use Refine Frowards,
otherwise use Refine Backwards :)
2013-05-12 16:04:14 +00:00
beb73831f6 Documentation for functions inside tracking.c
Additional changes:

- Cleaned up sources to reduce mess in some
  big functions.
- Removed unused function from libmv c-api.
- Made functions naming more consistent.
- Use bool for internal stuff in tracking.c.

Shall be no functional changes :)
2013-05-12 16:04:08 +00:00
97d2439077 Fix crash when closing blend files with no line styles 2013-05-12 14:45:15 +00:00
469979f9cb Fix material/lamp drivers not working sometimes when they were used by multiple
objects, found while looking into another bug.
2013-05-12 13:33:20 +00:00
70eaf2fe44 Image paint: 2D painting now supports texture masks and does masking more
consistent with projection painting.

Also did some refactoring of this code, moving the brush image creation code
out of brush.c and making it consistent with image updating code.
2013-05-12 09:14:13 +00:00
7b707fff56 correct assert for driver evaluation,
also add asserts for listbase functions when the list is NULL, and use noreturn attribute for jpeg_error.
2013-05-12 05:54:33 +00:00
c152913217 Couple fixes for my previous commit:
- In some cases smoke flow could have 1 cell clipped off its sides.
- Forgot to re-enable openmp for emission code.
2013-05-10 19:30:08 +00:00
2f9f3dd590 Smoke: Add new "Full Sample" option to high resolution smoke panel.
This is hopefully the ultimate solution against smoke blockiness near emitter.

Previously high resolution flow/emitter voxels were generated based on the low resolution ones. So if you had 32 resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.

Read more about it in my blog post: https://www.miikahweb.com/en/blog/2013/05/10/getting-rid-of-smoke-blockiness

Also changed "quick smoke" operator default voxel data interpolation mode to "Cubic B-Spline" to smoothen out it even more.
2013-05-10 16:18:00 +00:00
4392fc6f1d Optimize BKE_mesh_calc_normals(), gives approx 25% speedup.
- no need to allocate polygon normal array.
- no need to use BLI_array_ functions (realloc's).
- reduce some of the looping.
2013-05-10 10:07:01 +00:00
7a547e441b avoid customdata lookups for selection test/enable disable.
also add uvedit_face_select_set, uvedit_edge_select_set, uvedit_uv_select_set - since quite a few areas where setting based on a boolean.
2013-05-10 06:46:32 +00:00
4f5f97254c Reconstructed scene scale ambiguity improvement
Made it so reconstructed scene always scaled in a way
that variance of camera centers is unity.

This solves "issues" when different keyframes will
give the same reprojection error but will give scenes
with different.scale, which could easily have been
considered as a bad keyframe combination.

This change is essential for automatic keyframe
selection algorithm to work reliable for user.
2013-05-09 16:38:43 +00:00
2ad8ec5eaf Changes to footage information panel
- Display additional information about channels
  and buffer type (float/byte).
- Don't show frame number beyong sequence length.
- Also fixed issues with footage length calculation,
  so it's pronbably will be needed to reload some
  of existing footages.
2013-05-09 14:57:20 +00:00
2e0f741d01 can't use alloca in inline functions (fills up stack - I thought compiler would be smart here).
also reserve the exact number of vert/face/edge/loops when creating a bmesh during undo.
2013-05-09 11:42:24 +00:00
278240f4b0 bmesh: avoid using BLI_array macros for every face when converting to bmesh, replace with alloca 2013-05-09 10:44:38 +00:00
1e784c54cd bmesh speedup: skip free-realloc while running CustomData_bmesh_merge() when nothing is changed (happens quite often that there is nothing to do). 2013-05-09 10:41:05 +00:00
c1f408c058 Partial revert of own commits r56604 and r56603:
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow.
* Only keep changes to actual UI messages.
2013-05-09 10:03:38 +00:00
e0edac4952 UI naming consistency:
* ShapeKey -> Shape Key. Was called "Shape Key" in most places already.

Pointed out by Dalai, thanks!
2013-05-08 21:41:47 +00:00
f25e7d62b3 Mask modifier for sequences
This modifier uses a mask set in the modifier settings
and multiplies strip by it. Alpha channel will also be
multiplied by mask, which makes it easy to mask some
objects on footage and alpha-over them in sequencer.

Actually, this modifier sets alpha for byte strips
directly (since byte is always straight alpha) and
multiplies float buffer by mask (flaots are premulled)
so in both cases masked strip could be easy alpha-overed
without any artifacts.

It uses own structure with only SequenceModifierData
property in to preserve both forward and backwards
compatibilities (using new structure ensures modifier
will be ignored on load in older blenders, the same
happens for mesh modifiers actually).

Request from Pablo Vazquez.
2013-05-08 14:20:57 +00:00
a07dcd67eb Fix #35240: command line -t number of threads option did not work for cycles.
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
2013-05-08 13:23:17 +00:00
8ac2fee57a minor speedup for bmesh - add CustomData_bmesh_free_block_data(), use
when the block would be immediately allocated again.
2013-05-08 13:00:25 +00:00
f554c264da speedup for freeing bmeshes, skip calling free on every
vert/edge/face/loop if there are no free functions for the customdata
layers.
2013-05-08 12:59:56 +00:00
a9fb183901 rename BLI_ghashIterator_notDone() -> BLI_ghashIterator_done()
was renamed fairly recently but other similar iterators not negated
	like this, would prefer to keep it as it was
2013-05-08 12:58:11 +00:00
df664fa6d5 use bool for customdata functions. 2013-05-08 12:57:18 +00:00
76b1e8bc09 code clenup: rename BKE_mesh_poly_calc_angles -> BKE_mesh_calc_poly_angles 2013-05-08 12:56:51 +00:00
7fac200080 remove unused define CLAMPTEST, move INPR to
collision_compute_barycentric(), only place its used.
2013-05-08 12:56:02 +00:00
89c8de1f48 add matrix multiply for projection that outputs 2d values. 2013-05-08 12:55:36 +00:00
8238cd6992 use unsigned int, for mask rasterizer. 2013-05-08 12:54:47 +00:00
5c4f96af2c code cleanup: use 'const float[2]' where possible. 2013-05-08 12:54:33 +00:00
6b1b20ef0d code cleanup: BKE_mesh_nurbs_displist_to_mdata(), use const bool for
'conv_polys'
2013-05-08 12:53:52 +00:00
3e4db4969c code cleanup: remove unused 'dm' arg from BVHTreeFromMesh. 2013-05-08 12:53:34 +00:00
cf3d638681 remove unneeded null check in draw_viewport_name 2013-05-08 12:53:14 +00:00
34c28e3a0e fix [#35259] Crash when enabling mesh analysis intersect. 2013-05-08 12:40:23 +00:00
5455928262 Fix #35122: Blenderplayer crashes when loading level
Issue was caused by ntreeUpdateTree calling for a ntree
which is not in G.main.

This lead to issues in ntreeVerifyNodes (which is called
from ntreeUpdateTree).

Made is so ntreeUpdateTree now accepts main as an argument.
Will work for the release, later we could either solve the
TODO mentioned in ntreeUpdateTree which will eliminate need
in main there or make it so context's main is used from all
over where ntreeUpdateTree is called (currently there're
still some usages of G.main).
2013-05-07 15:28:42 +00:00
88129ac395 Fix for crash when using 2D stabilization for float movie clips
Also removed unneeded image buffer scaling, it was only needed
for "early output" if there was no rotation. That is no longer
supported since it used to pixelate result a lot and interpolation
is always used now.

Saves quite a few of memory and CPU cycles.
2013-05-06 17:59:02 +00:00
9aed3f62d3 Fix missing angle zerolization when 2d stabilization is disabled.
Not sure how it wasn't noticed for so long, probably check happens
in callee as well, but better be safe than sorry here.
2013-05-06 17:24:30 +00:00
62087935ec Fix #35209: cycles generated texture coordinates did not stick to deforming meshes. 2013-05-05 05:56:41 +00:00
0e27e71962 correct own recent commit, confused totloop with dm_totloop, rename vars & correct even though in this case the error was harmless. 2013-05-03 08:37:18 +00:00
4a4f091155 Fix #35174: dynamic paint displacement missing in render.
A previous bugfix disabled the dynamic paint modifier for orco texture
coordinate evaluation of the modifier stack. However the MOD_APPLY_USECACHE
flag is not a good way to check if the modifier is evaluated for orcos.

Instead I've added a MOD_APPLY_ORCO flag. Also removed a bunch of
applyModifierEM callbacks, none of them served a purpose except for the
subsurf modifier.
2013-05-02 14:42:05 +00:00
29ffcf408f remove re-allocations while building weight paint color array, move button to show weightpaint below other overlay buttons in the 'Mesh Display' panel. 2013-05-02 01:49:10 +00:00
d7e8356846 Fix 2D painting gave squares rather than a disk for the "Max" curve falloff shape. 2013-05-01 19:50:37 +00:00
c8cf9415de Fix #35149: solidify modifier + vertex parent not working after going in and out
of editmode on the child object.

Problem was that the object custom data mask was not taken into account when
rebuilding the derivedmesh in some cases, which is needed for the derivedmesh
to contain the mapping back to the original vertices. Now this data mask is
used for any derivedmesh build that will be cached.

Also problematic was that the datamask for the active object was applied to
all objects in the scene, which caused the parent object to be recalculated
when it didn't need to be. Now this datamask is only used for the active object.
2013-05-01 14:34:12 +00:00