Commit Graph

12883 Commits

Author SHA1 Message Date
Campbell Barton
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
Campbell Barton
c961c56c64 add missing STACK_INIT, also quiet float <> double conversion warnings. 2013-05-13 02:10:59 +00:00
Sergey Sharybin
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
Sergey Sharybin
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
Sergey Sharybin
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
Sergey Sharybin
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
Sergey Sharybin
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
Sv. Lockal
97d2439077 Fix crash when closing blend files with no line styles 2013-05-12 14:45:15 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Campbell Barton
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
Miika Hamalainen
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
Miika Hamalainen
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
Campbell Barton
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
Campbell Barton
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
Sergey Sharybin
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
Sergey Sharybin
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Thomas Dinges
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
Thomas Dinges
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
Thomas Dinges
9037a2d3ab Blender 2.68 release cycle begin:
* BCon1, Alpha. Let's have an awesome one!
2013-05-08 17:23:56 +00:00
Lukas Toenne
6fe753c11b Extended the draw callback API for node sockets with an explicit text parameter, instead of always using the sock->name string. This can be useful for drawing the socket values separate from the label, e.g. in the node view template. 2013-05-08 14:58:41 +00:00
Lukas Toenne
672d393517 Change to socket draw functions: instead of always only drawing the socket label for connected sockets, leave this check up to the socket draw function itself. This allows future socket types to draw buttons or other info in all cases and handle connected/unconnected state more flexibly.
The drawinputfunc/drawoutputfunc callbacks in bNodeType are pretty much empty wrappers now and should be removed at some point. This per-node differentiation should rather be implemented as a specialized socket type if necessary. The only use case for this feature that remains is the file output node in compositor, which displays shortened file format info for each socket.
2013-05-08 14:58:37 +00:00
Sergey Sharybin
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
Brecht Van Lommel
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
df664fa6d5 use bool for customdata functions. 2013-05-08 12:57:18 +00:00
Campbell Barton
76b1e8bc09 code clenup: rename BKE_mesh_poly_calc_angles -> BKE_mesh_calc_poly_angles 2013-05-08 12:56:51 +00:00
Campbell Barton
7fac200080 remove unused define CLAMPTEST, move INPR to
collision_compute_barycentric(), only place its used.
2013-05-08 12:56:02 +00:00
Campbell Barton
89c8de1f48 add matrix multiply for projection that outputs 2d values. 2013-05-08 12:55:36 +00:00
Campbell Barton
8238cd6992 use unsigned int, for mask rasterizer. 2013-05-08 12:54:47 +00:00
Campbell Barton
5c4f96af2c code cleanup: use 'const float[2]' where possible. 2013-05-08 12:54:33 +00:00
Campbell Barton
6b1b20ef0d code cleanup: BKE_mesh_nurbs_displist_to_mdata(), use const bool for
'conv_polys'
2013-05-08 12:53:52 +00:00
Campbell Barton
3e4db4969c code cleanup: remove unused 'dm' arg from BVHTreeFromMesh. 2013-05-08 12:53:34 +00:00
Campbell Barton
cf3d638681 remove unneeded null check in draw_viewport_name 2013-05-08 12:53:14 +00:00
Campbell Barton
34c28e3a0e fix [#35259] Crash when enabling mesh analysis intersect. 2013-05-08 12:40:23 +00:00
Ton Roosendaal
a0800cb8b3 And here's the epic 2.67 splash and version!
Celebrating Freestyle :) Kudos to dfeveloper Tamito and Malaysian artist Mclelun!
2013-05-07 16:27:55 +00:00
Sergey Sharybin
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
Sergey Sharybin
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
Sergey Sharybin
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
Brecht Van Lommel
62087935ec Fix #35209: cycles generated texture coordinates did not stick to deforming meshes. 2013-05-05 05:56:41 +00:00
Campbell Barton
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
Brecht Van Lommel
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
Campbell Barton
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
Brecht Van Lommel
d7e8356846 Fix 2D painting gave squares rather than a disk for the "Max" curve falloff shape. 2013-05-01 19:50:37 +00:00
Brecht Van Lommel
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