Commit Graph

11497 Commits

Author SHA1 Message Date
Joerg Mueller 8588fec935 FFMPEG: adding support for ffmpeg planar formats also to writeffmpeg.c. 2013-04-01 15:31:27 +00:00
Tamito Kajiyama 5524ed9ba2 Merged changes in the trunk up to revision 55700.
Conflicts resolved:
source/blender/editors/mesh/mesh_intern.h
2013-04-01 13:47:19 +00:00
Tamito Kajiyama 1360bb6fb0 Work-in-progress re-implementation of CustomData-based edge/face marks.
Most changes in revision 55228 were reverted and Freestyle edge/face marks
were re-implemented using CD_ORIGINDEX layers of edge/poly custom data.

For this implementation to work properly, modifiers were updated so that
required CD_ORIGINDEX layers will be set.  As pilot cases, the Mirror and
Solidify modifiers were updated (see comments in the code).

Some Freestyle-specific code is necessary in DerivedMesh.c so that the
CD_FREESTYLE_EDGE/FACE layers will be transferred from meshes to derived
meshes.  This seems unnecessary, so further investigation is foreseen.
2013-03-31 10:33:27 +00:00
Campbell Barton e8d532f1dd style cleanup 2013-03-31 03:28:46 +00:00
Antonis Ryakiotakis 1fea6220a2 Woot woot commit.
Stencil style texture mapping. Ready for field testing and user feedback.

This commit adds stencil like brushes, like those that existed on old ptex branch.
(with the exception of clip colour)
To control the position of the stencil, you use

Q: translation
Shift - Q: scaling
Ctrl - Q: rotation

There's extra work that has been done to make this work:

* Support for coloured overlay in vertex/texture painting
* Also made A button do stroke mode selection like in sculpt mode,
when mask painting is inactive.

There are some TODOs to work on during bcon3:

* Support tiled and stencil mode in 2D painting. Support alpha textures also.
* Tidy up overlay code. There's some confusion there due
to the way we use the primary brush texture sometimes for alpha, other times
for colour control.

WIP design docs will be in

http://wiki.blender.org/index.php/User:Psy-Fi/New_Brush_Tool_Design
2013-03-31 00:38:50 +00:00
Tamito Kajiyama 7072f234d3 Updated default line style parameters.
- Line color set to black.
- Line thickness set to 3.
Based on review comments by IRIE Shinsuke.
2013-03-30 16:42:59 +00:00
Campbell Barton 1777a69818 misc minor edits.
- pass string size to BLI_timestr() to avoid possible buffer overrun.
- quiet warning for mingw.
- include guards for windows utf conversion funcs.
- fix for mistage in edge-angle-selection check.
- some style cleanup.
2013-03-29 06:25:22 +00:00
Campbell Barton 8e3d590b76 code cleanup: python/pep8 and double-promotion warnings. 2013-03-28 19:33:14 +00:00
Lukas Toenne 4b5be1c097 Fix for node groups, now exposing a socket will copy the default value from internal nodes again. Also this value can be changed in the node group Interface panel. 2013-03-28 10:32:04 +00:00
Sergey Sharybin c5c34ca65f Fix #34782: Video Editor - Substract after transform fails
Couple of precision issues here:

- Interpolation was rounding trunkcating colors, and because
  of some precision issues value 254.999 became 254 leading
  to troubles later.

  Now color interpolaiton will do rounding to nearest int.

- Subtract was setting channels to something negative which
  confused color management (especially negative alpha),

  Now subtract effect will clamp channels to 0 from bottom
  and also do some tricks to prevent small alpha which
  could also confuse color management.
2013-03-28 08:21:29 +00:00
Campbell Barton f13829c782 svn merge ^/trunk/blender -r55594:55635 2013-03-27 22:24:38 +00:00
Sergey Sharybin 6aec2d4ddc Fix #34785: only one curve cap is visible while backface culling is enabled
Simply extra normals flip happened.
2013-03-27 16:33:49 +00:00
Ton Roosendaal 92689be7a0 Bug report #34775
Packed file print was misleading (no files packed).
It should be "no new files packed".
2013-03-27 13:28:51 +00:00
Sergey Sharybin 68d8c6ad3d Fix #34779: Channels disappear from multilayer exr sequence
Issue was caused by delayed or missing image user frame
number update, which lead to image loading failure in
cases node is updating from image signal callback.

Solved in a way that file from image datablock is used
for sockets detection instead of loading image for
current frame.
2013-03-27 11:26:10 +00:00
Shinsuke Irie da4401587c Fix [#34768] Out of bounds access in console selection.
txt_utf8_column_to_offset(): don't advance the offset anymore if a null character is found.
2013-03-27 09:57:34 +00:00
Sergey Sharybin 31eee77a45 Fix #33518: Jack sync doesn't work in 2.64, 2.64 or 2.65 stable versions
Added new build option WITH_JACK_DYNLOAD for CMake and
WITH_BF_JACK_DYNLOAD for SCons, which means there'll be
no build-time linking against libjack and getting symbols
from libjack will happen runtime using dlopen and dlsym
tricks.

Alternative would be to use weak linking, but it'll require
having wrapper for preloading libjack.

This new options are disabled by default and they only
intended to be used on linux. Other platforms shall not
be using this and there shall be no functional changes
on non-linux platforms at all.
2013-03-27 07:19:54 +00:00
Tamito Kajiyama 765a10a8cd Fix for Freestyle edge/face marks not working with most modifiers (except for Subdivision Surface). 2013-03-27 02:06:36 +00:00
Campbell Barton 36d25daa09 style cleanup 2013-03-26 22:45:06 +00:00
Campbell Barton 9f91fc10ab move FOREACH_NODETREE internal checks into functions.
BKE_node_tree_iter_init,step()
2013-03-26 22:37:41 +00:00
Antonis Ryakiotakis 1942452ce5 Paint system:
Random texture mapping
* Support for 2d painting.
* Better random generation and useof the result.
2013-03-26 21:34:39 +00:00
Campbell Barton 879e4fd9be sequencer gaps
- remove unneeded checks (poll checks editor is non-null)
- use booleans
- rename operator SEQUENCER_OT_gap_remove, _gap_insert

also quiet shadow warning in rigidbody.c (shadowing 'loc')
2013-03-26 20:34:13 +00:00
Bastien Montagne b4bd43e022 I18n: various "new data translation" fixes... 2013-03-26 14:33:53 +00:00
Sergey Sharybin 18d2dd7e3a Merging r55547 through r55594 from trunk into soc-2008-mxcurioni 2013-03-26 09:09:31 +00:00
Sergey Sharybin fc9e0a37f0 Freestyle: fix crash unlinking object
Was getting an address of pointer variable.
2013-03-26 08:32:53 +00:00
Sergey Sharybin 7b16c59e87 Freestyle: fix compilation with strict flags used 2013-03-26 08:05:56 +00:00
Campbell Barton 64d161de87 style cleanup:
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-26 07:29:01 +00:00
Sergey Sharybin 7635de3fee Better handing of frames below actual sequence range
When trying to load file below actual sequence range
(like trying to load file for scene frame 10 when clip's
start frame is 20) first frame from file sequence is used.

Before this change first file used to be loaded for every
scene frame below start frame, which polluted memory with
unwanted data.

Now first frame would be loaded only once in this case.
2013-03-25 15:32:11 +00:00
Bastien Montagne 6926596174 More new data names translation (most cases should be covered now).
Also done a few cleanup here and there...
2013-03-25 08:29:06 +00:00
Campbell Barton e1a54214bb code cleanup:
- remove unused defines.
- quiet some shadow warnings.
- bevel, ifdef out some asserts that are too common.
- style
2013-03-25 02:41:30 +00:00
Antonis Ryakiotakis ceb3225db7 Alpha mask textures porting part 1: Support for projective texturing.
Also add random mapping to brushes.
2013-03-25 01:00:16 +00:00
Thomas Dinges bf295c1c36 Code cleanup:
* Remove non used booleanops_mesh.c and header, got obsolete with Carve.
2013-03-24 18:14:38 +00:00
Tamito Kajiyama 385c72f5f2 Merged changes in the trunk up to revision 55546.
Conflicts resolved:
source/blenderplayer/bad_level_call_stubs/SConscript

Partly reverted changes to intern/cycles/blender/addon/ui.py in revision 52899
to make it easier to merge trunk changes.
2013-03-24 12:13:13 +00:00
Campbell Barton 08aef8a7c8 code cleanup: move doxy docs from headers into source. also replace strncpy();str[len]=0 with BLI_strncpy() in BLI_stringdec(). 2013-03-24 01:51:54 +00:00
Tamito Kajiyama 62cede96d3 A major code update for making the DNA file specification of Freestyle settings
and RNA for it independent of the build flag for enabling Freestyle.  Suggested
by Sergey Sharybin through a code review of the branch.

* Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific
DNA file specification and RNA for it built in Blender.  This will allow Freestyle
setting survive even when a non-Freestyle build is used for loading and saving
files.  It is noted that operations are still conditionally built through #ifdef
WITH_FREESTYLE blocks.

* To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have
been added.  All API functions in FRS_freestyle_config.h as well as some of those
in FRS_freestyle.h were moved to the new files.  Now the relocated API functions
have BKE_ prefix instead of FRS_.
2013-03-23 03:00:37 +00:00
Miika Hamalainen 327f0a0f8e Fix [#34721]: Smoke adaptive domain threshold ignores high resolution data.
In some cases high resolution domain could have higher density than the low resolution counterpart, causing adaptive domain to clip off areas where density is still above domain threshold. Now also high resolution data is used to determine domain bounds.
2013-03-22 17:11:32 +00:00
Miika Hamalainen 4074768493 Fix [#34685]: Dynamic paint sub-steps don't work if brush is animated through parent chain longer than 2 objects.
Maximum number of parents updated is now 5. Hopefully this will be enough until Blender has better subframe sampling system.
2013-03-22 17:08:55 +00:00
Lukas Toenne 750be44f31 Added missing node->id pointer checks in case node groups have unavailable node_tree data blocks. 2013-03-22 15:46:38 +00:00
Lukas Toenne 70319509ba Node preview merge function now has an additional option "remove_old", which could be used if previous previews should be retained after recalculating (not used currently, old previews are dropped entirely for now, because it could be confusing).
Also moved the sync and merge for previews into the respective tree callbacks for consistency. This way the handling of previews can be changed for each tree type individually if necessary.
2013-03-22 10:34:52 +00:00
Campbell Barton 75a5e239d7 correct enums which were in fact variables defined in headers. 2013-03-22 05:46:39 +00:00
Campbell Barton a79e10157d code cleanup: use NULL rather then 0 for pointers, and make vars static where possible.
also found unintentionally defined enum/struct variables that where only meant to be defining the type.
2013-03-22 05:34:10 +00:00
Tamito Kajiyama 0fd8e638b6 Fix for default values different from the factory settings.
Suggested by IRIE Shinsuke through a code review of the branch.
2013-03-21 21:30:05 +00:00
Campbell Barton fa1cd9ce9b python api: add functionality to remove vertex color layers.
note: that this intentionally removes check to exit vpaint mode when a vertex color layer is removed,
	  since being in vertex-paint mode without a vertex color layer is supported.

also minor change to drawing camera limits while picking from previous commit.
2013-03-21 20:15:39 +00:00
Joshua Leung 3725089b6b Driver error warnings are now only printed to the console when Blender is run
using the -d flag

This prevents a stream of error messages flooding the console when working with
particular rigs which may have a few broken controls. In general, riggers now
have a better alternative by using the filtering tools in the Graph Editor.
2013-03-21 06:11:16 +00:00
Campbell Barton 3966722057 code cleanup: misc warnings/style 2013-03-21 02:58:21 +00:00
Campbell Barton 8655be437d code cleanup: use bool where values are true/false, for view3d and related functions. 2013-03-20 23:14:18 +00:00
Bastien Montagne 885441e758 I18n users request: add the ability to use a translated name for newly added/created objects or other datablocks.
This simply adds a third "translation type" (in addition to iface and tip), "new data", with relevant user settings flag and helper funcs/macros (and py api).

Currently implemented name translation when adding new objects, as well as modifiers and constraints, will add the others (cd layers, scenes, perhaps nodes [though I think they do not need this], etc.) later.
2013-03-20 18:42:09 +00:00
Sergey Sharybin 808ac6debf Prefetching for movie clips
This commit basically implements frames prefetching for
movie clip datablock.

Number of frames to be prefetched is controlled in User
Preferences, System tab, Prefetch Frames option.

Currently prefetching is destructive-less for movie cache,
meaning mo frames will be removed from the cache when while
prefetching. This is because it's half of simplier to
implement, but it also makes sense from tracking point of
view -- we could want to playback in both directions and
removing frames from behind time cursor is not always a
good idea.

Anyway, smarter prefetching strategy could be developed
later.

Some implementation notes:

- Added MEM_CacheLimiter_get_memory_in_use function to get
  memory usage of specified memory limiter.

- Fixed prototype of MEM_CacheLimiter_get_maximum which
  was simply wrong (used wrong data type for output).

- Added some utility functions to movie clip and movie
  cache for direct cache interaction and obtaining cache
  statistics.

- Prefetching is implemented using general jobs system.
  which is invoking from clip draw function.

- Prefetcing will stop as soon other job or playback starts.
  This is done from performance point of view. Jobs will
  likely require lots of CPU power and better to provide
  whole CPU to it.

  Playback is a bit more complicated case. For jpeg sequence
  playback prefetching while paying back is nice. But trying
  to prefetch heavy exr images and doing color space
  conversion slows down both playback and prefetching.

TODO:

- Think of better policy of dealing with already cached frames
  (like when cached frames from other clips prevents frames
  from current clip to be prefetched)

- Currently a bit funky redraw notification happens from
  prefetch job. Perhaps own ND_ is better to have here.

- Hiding clip while prefetch is active in theory shall stop
  prefetching job.

- Having multiple clips opened on file load will prefetch
  frames for only one of them.
2013-03-20 17:03:20 +00:00
Campbell Barton d4af049fab add option to convert grease pencil into poly line directly.
Without this, bezier curves at 12 resolution are very high detail for many tasks when converted from freehand strokes.
so add the option to convert 1:1 grease pencil points to curve polygons.

also add use_handles option to curve conversion which is used when converting beziers to poly lines.
2013-03-20 15:01:15 +00:00
Tamito Kajiyama cde0230a98 Removed goto's as suggested first by Bastien Montagne and also by Sergey Sharybin
through a code review of the branch.
2013-03-20 00:08:42 +00:00
Tamito Kajiyama e1ce7f3f85 Code clean-up suggested by Sergey Sharybin through a code review of the branch.
* Removed the checks of NULL pointers after malloc/calloc.
* Replaced repeated cast operations with a temporary variable initialized with one cast operation.
* Removed an unused switch block (meant to be a place to put per-modifier resource management code).
2013-03-19 23:54:14 +00:00