Commit Graph

7788 Commits

Author SHA1 Message Date
Sergey Sharybin
fde8b0f7bc Patch #33242: ffmpeg AAC/AC3 encoding
Patch by David M (erwin94), thanks!

Also made Vorbis codec using float sample_fmt, otherwise it didn't work
with new FFmpeg.

Perhaps we can make it more clear by explicitly separating audio_input_buffer
for float and integer buffers, but as far as it works i'm not so fussed about
this atm.
2012-11-21 11:57:35 +00:00
Sergey Sharybin
7ea3c5ed6d Fix #33252: VSE preview displays wrong color space
Early output was not setting image buffer float color space
2012-11-21 10:13:52 +00:00
Sergey Sharybin
e1d1cc0680 Fix #33253: VSE preview doesn't display compositor
There were two issues in scene strip rendering:

- It will skip rendering if scene doesn't have camera but uses compositor
- G.is_break will cancel preview rendering

Also removed Use Sequencer from scene's strip settings, it's not supported.
2012-11-21 09:36:36 +00:00
Campbell Barton
f43e75c4d6 py api: BMesh.from_object() was using the derivedFinal, which isn't always available - or may not have UV data if in the wireframe view.
update the function to calculate the derived mesh with bmesh data-mask each time.

resolves bug [#33205] Bmesh "from_object" gives "no usable mesh data".

also found 'mesh_build_data' could run with non mesh objects and fail silently - add an assert.
2012-11-21 00:31:47 +00:00
Campbell Barton
5716762c02 fix for changes in own recent commit:
selected linked in face mode was crashing. (needs bmesh operator flags)

also some style edits, remove unused includes and change triangulate modifiers use_beauty to a flag.
2012-11-19 23:52:24 +00:00
Antony Riakiotakis
e174c6a47f Triangulate modifier
Useful for bump map baking where a consistent triangulation should be enforced when baking/exporting/importing, to avoid artifacts caused by a different triangulation of the mesh by that which was used for baking by internal/external tools. 

documentation is here http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/More_Features

Will probably add some pictures too to demonstrate the issue that is solved more clearly.
Currently using the skin modifier icon, will soon change that.

Review by Brecht, thanks!
2012-11-19 20:40:08 +00:00
Sergey Sharybin
74a6ee44f0 Fix #33234: Search string crashes Blender
Own regression since image threading safe commit.
2012-11-19 17:31:31 +00:00
Sergey Sharybin
d0a7259837 Improved FFmpeg error reports when audio stream failed to be allocated
Also fixed crash using --debug-ffmpeg caused by BLI_vsnprintf modifies
va_list -- need to create copy of list if this list is gonna to be reused.
2012-11-19 17:22:40 +00:00
Campbell Barton
973cb29d84 style cleanup: if's on the same line. 2012-11-18 02:41:55 +00:00
Campbell Barton
b867f9f17e style cleanup: comments & spelling 2012-11-18 01:22:31 +00:00
Sergey Sharybin
0071ce5022 Fix #33209: Opening an image with image node on Compositing freezes Blender
Own mistake in image threading commit.
2012-11-17 11:07:46 +00:00
Brecht Van Lommel
cf64a5b622 Python/Context: do not allow any UI context access from threads like render
or baking. This basically means you will only have access to bpy.data and
bpy.context.scene, not current window, active object, etc, as those are not
thread safe anyway and were likely to cause issues already.

This fixes #30858, where the UI would lose buttons due to context getting
corrupted when editing objects in pre/post render or using luxrender. The
context access they did (indirectly) was only using the current scene or
data so they still work.
2012-11-16 15:15:40 +00:00
Campbell Barton
e2fe7751d6 code cleanup: replace most DO_MINMAX2 -> minmax_v2v2_v2
also add UNPACK macros's. handy for printing vectors for eg.
2012-11-15 22:20:18 +00:00
Sergey Sharybin
5c6f6301b0 Image thread safe improvements
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.

To de-reference buffer BKE_image_release_ibuf should now always be used.

To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.

Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.

This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.

Thanks to Ton and Brecht for discussion/review :)
2012-11-15 15:59:58 +00:00
Campbell Barton
283ee53085 fix for deleting lines hanging the text editor when no markers are used, presence of markers still hangs.
also compiler warnings and some style edits.
2012-11-15 02:11:40 +00:00
Justin Dailey
4a5e8bf24c Patch [#31006] Text editor undo buffer rework. 2012-11-14 23:10:19 +00:00
Dalai Felinto
7cfb79256e Map Range Node (tiles)
this node allows for more control for normalization of the mapped input range.

Made during BlenderPRO 2012 - Brasilia, Brazil :)
Idea and testing: Daniel Salazar
Implementation: yours truly
Reviewed by Lukas Toenne and Sergey Sharybin
2012-11-14 19:53:46 +00:00
Campbell Barton
7c3db355b1 remove ifdef'd bevel code, current bevel works better then the previous code.
reduce strlen check in texttool_suggest_add()
use 'del list[:]' rather then 'list[:] = []' in python scripts which clear lists.
2012-11-14 09:45:15 +00:00
Campbell Barton
f0b6b89911 fix [#33156] Ctrl+L Link modifiers produce copies with identical names 2012-11-13 14:53:33 +00:00
Campbell Barton
d94b2efbb9 disable applying constructive modifiers when in sculpt mode with multi-res data, since this would crash.
also rename modifier_sameTopology -> modifier_isSameTopology(), modifier_nonGeometrical -> modifier_isNonGeometrical()
2012-11-13 14:21:55 +00:00
Ton Roosendaal
054c6159de Bugfix #33159
Histogram in Blender was nearly useless - it just didnt work, showed
confusing blank results.

Two reasons for it:
- It was including Alpha in the weighted total value
  (RGB images have alpha 255 for all pixels)
- It was counting the a total weight value max(R, G, B, A), instead of
  using max(R) and max(G) etc.

Now it all draws much nicer - similar to Da Gimp! :)
2012-11-13 12:55:09 +00:00
Campbell Barton
0bfc92ff8e BM_iter_as_arrayN() can now take an optional existing array argument, useful to avoid many small malloc's by passing a fixes size stack variable instead.
Will give some speedup to edge-split modifier and bevel.
2012-11-12 05:53:43 +00:00
Campbell Barton
744378483c style cleanup 2012-11-12 03:41:25 +00:00
Campbell Barton
66b488acc3 style cleanup 2012-11-11 11:00:55 +00:00
Ben Batt
a9eb610473 Fix #32398: Mirror modifier with "Merge" enabled producing pairs of faces
sharing the same set of vertices.

Modified the CDDM_merge_verts function (currently only used by the Mirror
modifier) to skip faces using all merged vertices.
2012-11-11 04:53:20 +00:00
Sergey Sharybin
cf503f5c77 Sequencer: disabled sequencer recursion and corrected rendered preview mode
Sequencer recursion was never actually supported and only gives lots of
issues. Disabled it now, so users are not getting confused by semi-working
stuff.

Also made a correction to rendered sequencer preview, so now using scene
strip in it's own sequencer will work properly (it produced black frames
before).

This required killing compositor jobs since they could be using the same
render result as renderer called from sequencer uses.

Small improvements could be:
- Add slight delay before compositor job starts handling nodes so killing
  this job would be fast
- Tag compositor to be updated after preview was fully rendered.
2012-11-09 16:49:17 +00:00
Campbell Barton
d25b13d13f code cleanup: double promotion warnings, also allow cmake to build SDL without audaspace. 2012-11-09 16:15:00 +00:00
Campbell Barton
6cdb555e6e bmesh refactor - rename some of the BM_****_share_****_count() functions to BM_***_share_check()
some of these were only returning a boolean, others returned a count even though only a boolean was needed.

split some of the functions in two as well where check/count are both needed.
2012-11-09 14:52:05 +00:00
Brecht Van Lommel
dc5ba03945 Fix #33123: lamp nodes drivers not working, now uses same hacks as material
to work around dependency graph limitations.
2012-11-09 13:57:09 +00:00
Joshua Leung
98e60b2f43 Edits for consistency with other parts of code
For the record, AnimData vars should be named "adt", not "ad"
2012-11-09 09:57:35 +00:00
Campbell Barton
2bb174cfa4 style cleanup: indentation 2012-11-09 09:33:28 +00:00
Campbell Barton
eff734203f add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
2012-11-09 08:28:14 +00:00
Sergey Sharybin
9dcd7f3b0b Fix crash when copying scene with sequencer's animation using Link Objects or Link Object Data methods
- Don't crash if there's any fcurves created for sequencer but no sequencer itself
- Don't copy sequencer's fcurves when copy new scene with linking data/objects method
2012-11-09 07:29:27 +00:00
Campbell Barton
56ae13be99 add a distance limit to the shrinkwrap modifiers project mode,
it was problematic for vertices to fire rays out and hit some unrelated-far-off geometry which is often not what users want.
2012-11-09 04:20:17 +00:00
Campbell Barton
11a5c909f8 code cleanup: move shrinkwrap's benchmark macro into PIL_time.h & some minor style edits. 2012-11-09 04:01:19 +00:00
Brecht Van Lommel
1c3640997c Fix #33082: dupliverted metaball showing wrong in cycles render and metaball
edit mode. I've made it follow blender internal now, but this system should
really be improved once, metaballs that are in linked dupligroups will never
show up.
2012-11-09 03:10:15 +00:00
Brecht Van Lommel
863291bc8e Fix #33113: cycles not rendering motion blur correct with dying particles.
There were a bunch of other issues with dupli motion blur and syncing, the problem
being that there was no proper way to detect corresponding duplis between frames
or updates. As a solution, a persistent_id was added to the DupliObject. It's an
extension of the previous index value, with one index for each dupli level. This
can be used to reliably find matching dupli objects between frames. Works with
nested duplis, multiple particle systems, etc.
2012-11-08 16:35:28 +00:00
Brecht Van Lommel
4063db3f61 Render: make default lamp size smaller (10cm instead of 1m in typical units). 2012-11-08 16:35:10 +00:00
Sergey Sharybin
eacc74ef1b Fix #33116: Blender Crashes when saving inside Sculpt Mode with with GLSL and textured view enabled.
Issue was caused by call ED_sculpt_force_update from WM_file_write which frees
derived mesh and pBVH and forces them to be re-created. After this sculpt session
wasn't repairing properly.

Freeing data from WM_file_write is not nice by itself, but it exposed possible
real issue when sculpting on modifiers. Made it so BLI_pbvh_grids_update will
update pointers to material flags and hidden grids as well.

This isn't idea solution for particular circumstances from the report, since
pBVH would be rebuilt after save which ends up with small interface lags for
while pBVH is rebuilding.

Would be nice to have multires displacement propagation to higher levels
without freeing data.
2012-11-08 14:01:47 +00:00
Sergey Sharybin
529209ff83 Added Map Taper option which if enabled maps affect of taper object on
actually beveled part of curve (previously affect of taper would have
been clamped by start/end bevel factor)

Here's an illustration:
http://wiki.blender.org/uploads/5/5d/Blender2.65_CurveMapTaper.png
2012-11-08 08:16:44 +00:00
Campbell Barton
617a73c573 code cleanup: unused defines & some formatting. 2012-11-08 06:46:10 +00:00
Campbell Barton
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
Campbell Barton
14dea2c5bf fix for own error in recent orig-index refactor (reported as [#33112]) 2012-11-07 11:37:53 +00:00
Sergey Sharybin
1c450d71ef Fixed crashes when motion tracks are zero-sized
This is probably versioning issue happened when both trunk and tomato
were mixed to work on the same file.

Anyway, there're few files here locally and it's probably other users
do have the same files, so lets keep things safe here :)
2012-11-07 11:18:42 +00:00
Campbell Barton
852a41fb0e style cleanup, also remove redundant call to set_listbasepointers in free_main(). 2012-11-07 01:02:28 +00:00
Brecht Van Lommel
27d647dcf8 Cycles: 4 new nodes.
* Tangent: generate a tangent direction for anisotropic shading. Can be either
  radial around X/Y/Z axis, or from a UV map. The default tangent for the
  anisotropic BSDF and geometry node is now always radial Z, for UV tangent use
  this node now.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Tangent

* Normal Map: generate a perturbed normal from an RGB normal map image. This
  is usually chained with an Image Texture node in the color input, to specify
  the normal map image. For tangent space normal maps, the UV coordinates for
  the image must match, and the image texture should be set to Non-Color mode
  to give correct results.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Normal_Map

* Refraction BSDF: for best results this node should be considered as a building
  block and not be used on its own, but rather mixed with a glossy node using a
  fresnel type factor. Otherwise it will give quite dark results at the edges for
  glossy refraction.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Refraction

* Ambient Occlusion: controls the amount of AO a surface receives, rather than
  having just a global factor in the world. Note that this outputs a shader and
  not a color, that's for another time.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Ambient_Occlusion
2012-11-06 19:59:02 +00:00
Ton Roosendaal
04bea047b5 Bugfix #32191
Case: multiple scenes, linked objects on different layers.
By definition, a layer is a local scene property - not of object.
On setting scenes, this then gets copied over to objects.

Error was a 2.5 year old commit to allow object layer animation,
which is due to depsgraph issues badly supported anyway.
(animate visibility outliner flags instead)
2012-11-06 18:07:17 +00:00
Joshua Leung
83a22ec16e Harmless formatting tweaks 2012-11-06 06:29:40 +00:00
Sergey Sharybin
39da858001 Sequencer: input color space support for image and movie strips 2012-11-05 14:44:29 +00:00
Sergey Sharybin
4ad749bc13 Improvement for text indentation: keep selection as good as possible
Patch by Sebastian Nell, thanks!
2012-11-05 13:31:26 +00:00