Commit Graph

6326 Commits

Author SHA1 Message Date
Nicholas Bishop
289c8b5758 Add remesh modifier (dual contouring).
This patch adds a new remeshing modifier. The algorithm is based on
the paper "Dual Contouring of Hermite Data", and the implementation
was contributed to Blender by Dr. Tao Ju.

The contributed code is in intern/dualcon, and was modified to compile
under gcc and work on 64-bit systems. Files not needed for Blender
were removed and a small C wrapper was added in order to interface it
with Blender. The rest of the patch is just standard modifier stuff.

Reviewed by Sergey, code review link:
http://codereview.appspot.com/5491053/

The remesh icon was contributed by Zafio:
http://blenderartists.org/forum/showthread.php?240751-Request-for-modifier-icon/page2.
Thanks to everyone in that thread for the icon proposals and
discussion.

Documentation and examples on the Blender wiki:
http://wiki.blender.org/index.php/User:Nicholasbishop/RemeshModifier

In case the history is needed for anything, check the remesh-modifier
branch of this git repository:
https://gitorious.org/~nicholasbishop/blenderprojects/nicholasbishop-blender
2011-12-30 21:11:40 +00:00
Sergey Sharybin
792452a7e5 Disable markers when doing frame-by-frame tracking and tracker library returns failure 2011-12-30 18:15:44 +00:00
Sergey Sharybin
3c6e818b22 Object tracking integration
This commits merges object tracking implementation from tomato branch.

Summarized changes from branch:

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- Object has got scale to define "depth" in camera space.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
- Improvements in witness cameras workflow,
2011-12-30 18:06:02 +00:00
Campbell Barton
532afede02 patch [#29726] Enable looping with Follow Path constraint and cyclic curves. by Peter Amstutz (tetron) 2011-12-30 14:52:03 +00:00
Brecht Van Lommel
d7d856a23d Color management: add "Color Unpremultiply" option for images and render settings.
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.

This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.

In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.

Patch by Troy Sobotka, with changes by me.
2011-12-30 14:17:11 +00:00
Sergey Sharybin
c21cfb4fcd Camera tracking: improvements of track preview widget
- Enable bicybic filtering fir image displayed in track preview
- Option to show grayscale content of track preview
- When some channels are disabled, display exactly the same
  content of preview image which is sending to tracker library.

Merged from tomato branch using command:
    svn merge -r42382:42383 -r42384:42385 -r42394:42395 \
	    -r42397:42398 -r42398:42399 -r42406:42407 \
		-r42410:42411 -r42417:42418 -r42471:42472 \
		^/branches/soc-2011-tomato
2011-12-30 10:20:29 +00:00
Sergey Sharybin
90760b9f87 Fixed low boundary when detecting frames range for camera solver 2011-12-30 08:40:36 +00:00
Sergey Sharybin
7c5c256fd5 Fix #29729: Blender crashes when camera solving with a disabled marker
Stupid mistake in index of last marker when detecting frames bounds
2011-12-30 08:34:00 +00:00
Campbell Barton
6d965f4493 style edits for function declarations 2011-12-30 07:55:15 +00:00
Campbell Barton
ec55cb1154 while checking weight paint code noticed that unified brush functions loop over the scenes to get the flag.
* this loop is called multiple times per vertex (not addressed in this commit)
* functions like brush_use_size_pressure(), brush_use_size_pressure() called unified_settings() twice when they didnt need to.

looks like this code cant work right with multiple scenes, added a comment on this - but at least avoid calling unified_settings() multiple times in single functions.
2011-12-30 03:43:39 +00:00
Campbell Barton
e63cb930ae use math functions for customdata interpolation funcs 2011-12-29 11:18:12 +00:00
Campbell Barton
1297f72f78 sync changes from bmesh r42951 + some other minor edits. 2011-12-28 22:46:10 +00:00
Sergey Sharybin
becc094119 Fix #29692: 3D Scene is Rendering Bright in the VSE
profile conversion for sequencer result sued to happen even if
color management is disabled for scene which made frames brighter.
2011-12-28 20:11:36 +00:00
Sergey Sharybin
c2ae77e5bd Merging r42896 through r42944 from trunk into soc-2911-tomato 2011-12-28 18:31:32 +00:00
Campbell Barton
7c417fbcfb WIP bmesh trunk sync, excuse the noise 2011-12-28 14:26:59 +00:00
Campbell Barton
5b88e16306 WIP loading bmesh in trunk, some conversion functions for this purpose. 2011-12-28 13:50:33 +00:00
Brecht Van Lommel
b9ff5840a6 Code refactoring: add unified image buffer functions for doing float => byte,
byte => float, float => float, byte => byte conversions with profile, dither
and predivide. Previously code for this was spread out too much.

There should be no functional changes, this is so the predivide/table/dither
patches can work correctly.
2011-12-28 13:29:33 +00:00
Campbell Barton
1f02209957 enable USE_BMESH_FORWARD_COMPAT and merge in some customdata functions 2011-12-28 13:23:59 +00:00
Campbell Barton
312b080397 initial merge of bmesh customdata layer code into trunk, ifdef'd out for now with USE_BMESH_FORWARD_COMPAT. 2011-12-28 13:15:17 +00:00
Campbell Barton
2e92b14bc6 copy BLI_edgehash changes from bmesh branch, main change is use of mempool. 2011-12-28 10:20:37 +00:00
Campbell Barton
337d397d09 merge in customdata changes from BMesh - biggest change is caching the layer index values in a typemap. 2011-12-28 09:11:11 +00:00
Campbell Barton
0059b8dd96 option to save as older mesh format (ifdef'd for now) 2011-12-27 13:17:58 +00:00
Sergey Sharybin
6963e43148 More fixes for timecode usage with BKE_movieclip_get_ibuf_flag 2011-12-27 11:09:06 +00:00
Sergey Sharybin
0ac3ab752f Fix #29688: Timecode is not used in tracking
Use proper timecode flags sending to BKE_movieclip_get_ibuf_flag function,
so now frames for tracking would be full-resolution but calculated using
timecode defined in th interface,
2011-12-27 10:52:23 +00:00
Sergey Sharybin
fd134927dd Merging r42800 through r42895 from trunk into soc-2011-tomato 2011-12-27 10:11:07 +00:00
Campbell Barton
397d7d949f remove unneeded casts from 'unsigned int' to 'int' 2011-12-27 03:54:23 +00:00
Campbell Barton
02d72b5c07 include BLO_sys_types in customdata header rather than stdint directly. 2011-12-25 21:27:23 +00:00
Jens Verwiebe
856208dba2 OSX/gcc-4.6, fix for typedef uin64_t 2011-12-24 08:03:43 +00:00
Campbell Barton
eb3beca8d4 replace u_int64_t with cc99's uint64_t as suggested by Nicholas Bishop. 2011-12-24 03:03:42 +00:00
Campbell Barton
b21a0f4fa1 formatting edits 120 line length 2011-12-24 02:37:42 +00:00
Thomas Dinges
9bb0303221 Bugfix for [#29684] Output video presets messed up
* This was caused ny the ImageType refactor.
* Problem persisted with Quicktime too, could not test that, but should fix presets there too.
2011-12-23 22:07:34 +00:00
Campbell Barton
ddcf56366d change customdata mask from an 'unsigned int' to an 'u_int64_t', since BMesh branch has run out of bits 2011-12-23 20:30:23 +00:00
Campbell Barton
5df049f390 fix [#29683] OpenEXR Output Appears to be broken
own error with moving image settings.
2011-12-23 20:26:37 +00:00
Brecht Van Lommel
4d7c44717a Code cleanup: fix some clang static checker warnings. 2011-12-22 20:29:44 +00:00
Campbell Barton
51016c4dea split >120 length lines (mostly if statements) 2011-12-22 00:03:20 +00:00
Campbell Barton
96bd647c4f split some >120 lines, no functional changes 2011-12-21 22:56:06 +00:00
Campbell Barton
0772ebc02c fix for use of uninitialized value for ipo conversion. 2011-12-21 21:40:21 +00:00
Sergey Sharybin
9774c93435 Merging r42770 through r42799 from trunk into soc-2011-tomato 2011-12-21 14:50:05 +00:00
Sergey Sharybin
8fbff6100d Added Record run no gaps timecode for movie clips.
Also get rid of hardcoded constants in readfile and use constants from ImBuf headers.
2011-12-21 11:01:08 +00:00
Sergey Sharybin
921b2ee2d4 Merging r42723 through r42769 from trunk into soc-2011-tomato 2011-12-20 17:24:20 +00:00
Bastien Montagne
738fdc7b6f New modifier type: eModifierTypeType_NonGeometrical, for modifiers affecting CustomData layers only (e.g. UVProject and WeightVG ones).
Also, allow applying to obdata those modifiers, even with shapekeys, but do not allow applying them *as* shapekey (as shapekeys do not have CD layers).

Fix [#29636] Vertex Weight Mix modifier "apply" button don't work.

Note: applying whit shape keys currently always uses base shape, not current one (for apply to obdata as well as apply to shapekey), but this is another topic...
2011-12-20 14:15:59 +00:00
Campbell Barton
a7a6049978 minor edits to previous commit & set VKey to toggle vertex select in weight paint mode. 2011-12-20 02:04:35 +00:00
Campbell Barton
a7bae8474b calculate weight paint colors once per vertex rather then on every face corner (was doing the same deform vert lookup and color calculation multiple times per vertex),
Quick shows over 2x speedup in my tests, will give bigger speedup with more vertex groups.

If you happen to have vertices with no faces using them - vertex colors will be calculated unnecessarily, but this isnt a common use case for weight paint mode.
2011-12-19 22:55:04 +00:00
Sergey Sharybin
1dc74acc12 Object tracking: configurable scale for object solution
Added slider to define scale of object solution which is used to define
"depth" of object relative to camera position. This slider effects on all
"users" of object solution such as bundles display, constrained objects and so.

Added new operator called "Set Solution Scale" to set real scale for object
solution based on real distance between two bundles reconstructed for this object.

New slider and operator can be found on "Object" panel in toolbox when in
reconstruction mode and active tracking object isn't a camera.
2011-12-19 15:12:33 +00:00
Lukas Toenne
26b3dfa30e Automatically hide unused (=unlinked) node sockets in collapsed ("hidden") nodes. This is to make nodes with many sockets cleaner and simpler, which is the purpose of collapsing nodes in the first place.
The hiding code uses the SOCK_IN_USE flags already present. These were only temporarily set by the shader node code for determining needed texture coordinate types. Now they are used persistently and updated along with the sock->link pointers.
2011-12-19 12:04:05 +00:00
Sergey Sharybin
737648a0bf Merging r42648 through r42722 from trunk into soc-2011-tomato 2011-12-19 10:39:40 +00:00
Bastien Montagne
90ef435145 Fix a bug in CustomData_duplicate_referenced_layer(_named) functions: MEM_dupallocN does not work with complex layers like CD_MDEFORMVERT ones, so rather use copy func when available. 2011-12-19 08:26:53 +00:00
Sergey Sharybin
3708d66c88 Object tracking: forgot to initialize inverted matrix for object solver constraint 2011-12-18 18:03:20 +00:00
Campbell Barton
b49463c439 cleanup of weight paint color setting code, no functional changes 2011-12-18 12:54:50 +00:00
Bastien Montagne
74a1123059 Quite some compiler warnings... 2011-12-17 16:22:08 +00:00