Commit Graph

39024 Commits

Author SHA1 Message Date
Sergey Sharybin
1b10643920 Footage information panel
Displays such information as current frame dimension,
frame number within image sequence/movie and in case
of image sequence input displays current file name of
a frame.

Not entirely happy with such approach, but was requested
a lot by artists.
2013-04-22 11:19:12 +00:00
Antony Riakiotakis
c0eadedb70 Support more mapping modes for alpha masks. Tiled, stencil and random 2013-04-22 10:46:01 +00:00
Sergey Sharybin
53479be581 Fix #35037: Compositor: MultilayerEXR + undo loses image. Crash when selecting in Image Editor
Issue was cause dby ima->ibufs being stored in a ma on
undo/redo and ima->rr not. In case of multilayer image
ibufs hares pointer with render result, so current
undo/redo policy lead to a dead pointer stored in ibuf.

Made it so ima->rr also stores in the map and restores
on redo/undo keeping all the pointers fine.
2013-04-22 10:08:58 +00:00
Sergey Sharybin
f3dbfddc8a Fix #35039: two other issues with curve caps
- Skip filling caps if spline is cyclic
- Use hard limit of 1024 for curve resolution
2013-04-22 09:26:02 +00:00
Campbell Barton
a7f869df64 fix for error in own recent changes to vertex weight drawing in editmode.
where disabling show_weight, the colors would still draw.
2013-04-22 06:16:03 +00:00
Campbell Barton
6e6d00604d revision r56196 adding uv select more/less used 4 nested 'for' loops,
rewrite to use only 2.

also use generic, reusable functions for selection flushing so each operator doesn't need to implement its own.
and merge more-less operation into the same function, just call the selection flush function with select/deselect arg.
2013-04-22 06:02:30 +00:00
Campbell Barton
fa103d391e remove unneeded null checks from commit r56194, also minor style cleanup. 2013-04-22 03:08:56 +00:00
Sergej Reich
ed19108891 rigidbody: Add function to perform convex sweep test
This is a experimental collision detection function, so the API might
change in the future.

Note: The simulation needs to be stepped before this function can be
used, otherwise the rigid body world might not be valid.

Patch [#34989]  Bullet Convex sweep test API
by Vilem Novak (pildanovak), thanks!
2013-04-21 19:53:40 +00:00
Sv. Lockal
edab815137 Add Select More (ctrl np+) and Select Less (ctrl np-) to UV editor
These tools allow to extend or shrink uv selection like in edit mode, but also take selection mode, sync mode and sticky mode into account.
2013-04-21 19:04:04 +00:00
Lukas Toenne
c44888bbbe Fix for NULL pointer bug, reported by Jens Verwiebe in IRC. ED_node_tag_update_id tries to get a node tree from the active id pointer, but this only works for standard node types, not for pynodes. 2013-04-21 18:11:00 +00:00
Campbell Barton
54c6af6016 fix [#35043] Camera view breaks with multiple scenes and the "view center camera" action. 2013-04-21 16:08:49 +00:00
Campbell Barton
d404f7fbe4 missed this previous commit (r56188), using normalized angle function. 2013-04-21 13:29:24 +00:00
Campbell Barton
c667f1ff10 utility function volume_tetrahedron(), for mathutils and BLI math. 2013-04-21 13:24:45 +00:00
Campbell Barton
1fe7657b4f code cleanup: avoid unneeded normalizations when joining tris -> quads, also correct assert with edge-collapse-decimate. 2013-04-21 13:10:05 +00:00
Tamito Kajiyama
5725be6f08 Minor code clean-up & removal of unused code segments. 2013-04-20 23:00:27 +00:00
Tamito Kajiyama
62e6d8e757 Fix for a crash due to uninitialized local Main (introduced in revision 56127). 2013-04-20 21:15:17 +00:00
Lukas Toenne
c66acbf3d9 Removed the group_tree_idname property from node types. This was a bit of a hack to associate node group types to specific tree types for node group operators. Since the node group operators now work independent from this property (see r56183) that property is no longer needed and just pollutes the bNodeType struct. 2013-04-20 17:57:45 +00:00
Campbell Barton
01f8b229c9 revert own change from 56177, game bounds can be useful to see in editmode,
also use gcc attributes for smallhash header and some style edits to recent commit.
2013-04-20 17:24:40 +00:00
Lukas Toenne
ef170c16be Fix #34846, Node->Ungroup menu entry is broken. The standard node group operators now don't require the node_type string property any more. They are limited to the Shader, Compositing and Texture node tree types and will pass through for other (pynodes) tree types. Associated node group types are hardcoded.
The original rationale for adding the node_type property was to allow node group operators work generically on any node group type automatically. The problem is that detecting the appropriate node group type and node tree type to use for a group depends on using a node base type. Due to the fact that RNA does not allow multiple inheritance (mixin classes) this is impossible to achieve if node types also have to use a base type such as ShaderNode, CompositingNode or TextureNode.

The idea is now to just "make it work" by limiting the node group operators to the standard tree types. For future pynodes we can implement these operators nicely in Python, which will allow pynodes to use mixin base classes or derive their own operator types and re-use the same keymapping.
2013-04-20 16:50:05 +00:00
Campbell Barton
46b40e112b skip checks in statvis_calc_thickness(). also remove paranoid NULL checks in smallhash.c 2013-04-20 16:49:02 +00:00
Campbell Barton
106d41699a fix [#35025] Mesh Debug samples strange behavior 2013-04-20 16:29:37 +00:00
Campbell Barton
5999aebe4e fix for glitch in object drawing, color of texspace was last used editmode draw color.
also disable BGE bounds drawing when outside of object mode.
2013-04-20 06:22:17 +00:00
Campbell Barton
0e5d4fcd7d code cleanup: remove unused var from drawobject 'warning_recursive'. also remove unused colors from 'colortab'. 2013-04-20 05:50:22 +00:00
Sergey Sharybin
349b71fd02 Bring back support of FFmpeg >= 0.7
After planar codecs support minimal FFmpeg was
bumped to 0.10 which was not so much nice because
it was only released only later last year.

Didn't find a way to make compatibility code local
in ffmpeg_compat, so there're some ifdefs in
audaspace and writeffmpeg.

Not entirely happy, but having a bit of ifdefs in
code better than lots of real PITA for platform
maintainers.
2013-04-19 17:23:08 +00:00
Campbell Barton
1210c8493c style cleanup: edge slide 2013-04-19 15:53:24 +00:00
Campbell Barton
98ef2d1d2e uv project from camera now sets defaults so the image maps to the camera bounds,
also rename newly added `Mesh Debug` -> `Mesh Analysis`
2013-04-19 15:50:17 +00:00
Bastien Montagne
7776e7e7d8 Usual Stupid Blenderplayer Stub Fix™! :P 2013-04-19 15:46:32 +00:00
Ton Roosendaal
ed8b199ac5 UI drawing fix:
Wrongly replaced a "&" with "|" for a define. That made node headers in node editor
draw too dark. Also made header for default node not use alpha.

In general this drawing is not very good - it gets too transparent and dark.
Needs nicer AA function in interface, will be done later.
2013-04-19 15:02:37 +00:00
Gaia Clary
1c502d8316 Added minimal support for progressbar in python 2013-04-19 14:47:11 +00:00
Sergey Sharybin
1d008de24f Fix #34818: Sculpting Mode only rotates around geometry origin (bring bug back)
Made it so average coordinate of previous stroke is used as
a viewport rotation center when Rotate Around Selection is
enabled in user preferences.
2013-04-19 13:26:17 +00:00
Bastien Montagne
e430ee20d5 More fix (cleanup) to r56063: remove call to RNA_create_pointer, it has already been called by uiButGetOperatorPtrRNA() if needed.
(I thought it would also copy idproperties, but as it does not...).
2013-04-19 13:03:30 +00:00
Campbell Barton
c4dbd8bc49 fix for crash in r56063, was just missing an ID property copy (which menu does) 2013-04-19 12:14:15 +00:00
Campbell Barton
5977fa5e2b fix for bug where edge slide could set mouse start/end points to the same value - so you couldnt move the edge loop at all,
now check that the screenspace projection of the start/end points have some length and fallback to fixed offset if none do.

also rename confusingly named vars.
2013-04-19 10:23:48 +00:00
Campbell Barton
73ee226647 fix for incorrect edge slide interpolation at loop endpoings with ngons. 2013-04-19 10:04:23 +00:00
Campbell Barton
0f7fbe13ba fix [#35009] Edge/Vertex Slide issue using G-G.
add support for edge slide on boundary edge loops as well as loops with mixed in boundary faces.
2013-04-19 08:42:11 +00:00
Lukas Toenne
9f8c3783cd Fix for bug reported by Dalai Felinto on IRC, crash in blenderplayer after r56055. The ntreeUpdateTree function uses G.main, which is not defined in blenderplayer (NULL). Using G.main is in itself an ugly hack required for the node verification. Just added a sanity check for now. 2013-04-19 06:50:07 +00:00
Campbell Barton
5aef06fc04 code cleanup: edge slide, avoid building BVH tree, more logical var names. 2013-04-19 02:47:31 +00:00
Campbell Barton
79ac3576ca fix for incorrect edge loop slide direction when one of the loop sides was lost walking around the loop. 2013-04-19 02:36:52 +00:00
Campbell Barton
e0464a0549 code cleanup: remove unused vars in edge slide, only store the initial vertex coords rather then a copy of the whole vertex, name edge slide directions a/b rather then up/dowb. 2013-04-19 02:22:23 +00:00
Campbell Barton
34f9932418 simple optimization, replace BM_face_other_edge_loop() with BM_loop_other_edge_loop() in situations where the loop is known this avoids a lookup. 2013-04-19 01:02:58 +00:00
Campbell Barton
f2f27bf832 style cleanup 2013-04-19 00:37:30 +00:00
Dalai Felinto
43998d6a38 BGE: Extend Framing Mode + Camera sensor
If the "Framing" mode is set to extend,
the camera frustrum changes when you
resizes the blenderplayer window.

Before this patch, there were no way to
control which part of the framing you want
to extend (vertical, horizontal or arbritary).

Now:
If the camera sensor fit is set to HORIZONTAL,
the horizontal field of view doesn't change.
If set to VERTICAL, the vertical fov doesn't change.

If set to AUTO the old behaviour takes place, arbitrarly
showing more of the horizontal or vertical field of view
depending on the aspect ratio of the window.

Test file:
https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests/gameengine/framing_extend.blend

Bugfix supported by NF-UBC Nereus Program as part of the development
of OceanViz/NereusViz
2013-04-18 23:34:32 +00:00
Brecht Van Lommel
c846e3c750 Fix #35014: collada import crash with UV coordinates. 2013-04-18 21:40:06 +00:00
Brecht Van Lommel
116f1ae4d6 Fix #35011: UV unwrap giving poor results for ngons.
Problem is that the scanfill result gives poorly shaped triangles, which is fine
for OpenGL drawing but does not work well for unwrapping. Another problem was
that it was doing random float offsets to avoid some degenerate cases, but this
meant that unwrapping a part of a mesh or the whole thing could give different
results for a UV island. Now UV unwrap does own triangulation of ngons.
2013-04-18 21:00:29 +00:00
Campbell Barton
443d58f65a remove snapping for first point added to the ruler.
its often nice but you can accidentally snap onto far-off objects too which is annoying.
2013-04-18 17:31:58 +00:00
Campbell Barton
5502c74a1a fix for problem with too low epsilon when calculating thickness, also increase limits. 2013-04-18 17:23:02 +00:00
Campbell Barton
5c72a19c09 add display mode for sharp edges. 2013-04-18 17:09:56 +00:00
Brecht Van Lommel
feeab1ad53 Fix #34997: when starting the game engine in one window and switching to a second
window, the game would stop drawing in the first and mess up the OpenGL state of
the second.

Also fixes glPushAttrib/glPopAttrib getting out of sync in some cases.
2013-04-18 16:28:39 +00:00
Brecht Van Lommel
fb2b3155f7 Fix "duplicate area into new window" making the window too big with high DPI / retina. 2013-04-18 16:28:36 +00:00
Brecht Van Lommel
8d756ef914 UV unwrap: decrease ABF minimum angle, I couldn't find cases where it needs to
be this high, and give better results lower, especially with tesselated ngons.
2013-04-18 16:28:31 +00:00
Ton Roosendaal
4ad289a22d Bugfix #34895
Error in shadowbuffer with halo effect. It had render error when you look straight into
the lamp, with something in front of lamp.

The code that was sampling the shadowbuffer exited too soon (for ray going perpendicular to buffer it should take at least 1 sample).

Code from 90ies. And still got a bug fix. Whoa :)
2013-04-18 16:26:58 +00:00
Campbell Barton
6db3375e4f code cleanup: removed unneeded null check in object drawing, some warnings, style. 2013-04-18 15:09:30 +00:00
Ton Roosendaal
58a00e7396 Bug fix #34822
Tiny tweak in "Any key modifier" code. It now refuses to accept events when you hold
any key, and then press another key - unless that has key-modifier set.

This enables Houdini style "Hold Spacebar - Leftmouse" view moves.
2013-04-18 14:55:04 +00:00
Lukas Toenne
1d004e571a A few fixes for recent own commit r56133.
* Index was assigned after increment, leading to NULL pointer access later on when looking up socket from list
* Copying default_value requires a valid NULL pointer for clean check
* Was using default_values as parameters instead of sockets, void pointers just passed through without warning ...
2013-04-18 13:16:38 +00:00
Lukas Toenne
0b0abfe6fb Fix for #35015, Alpha input in color selectors was showing 0 precision. Probably caused by r55910. The NUMSLI button now needs either -1 or an explicit precision value in a2. 2013-04-18 12:43:30 +00:00
Sergey Sharybin
23d636eaf5 Fix for access freed scene when doing freestyle render
It's more like an ownership thing, but it's not so much
clear who actually is an owner of temporary scene, so
for now just ensure Render does not have link to it
after strokes are rendered.

There're also suspicious thing related on why separate
RE_free_database is needed for freestyle renders, but
that's also another story.
2013-04-18 12:11:50 +00:00
Antony Riakiotakis
3bb53bbeae Fix: view plane for sculpting did not work correctly for rotated
objects. Reuse the object space view vector. Also, minor cleanup, reused
cache values instead of requering.
2013-04-18 12:03:27 +00:00
Ton Roosendaal
7669d3c17d Bug fix #35017
Blender Render: setting alpha to zero for ray-transp material with refraction did not
render. Was optimized away.
2013-04-18 11:44:00 +00:00
Lukas Toenne
4f23bd8904 Fix for #35010, Node Groups don't show up anymore in Material Surface. Fixing the node tree view was a bit of a todo item after pynodes.
To make the type-dependent socket linking in this template a bit more manageable, there are now separate functions that generate "items" for a particular node type consisting of the socket index, name and possibly additional properties required (currently only node groups vs. all other types). This is still nowhere near flexible enough to be used as a generic template all node systems, but works for now.

In order to make this usable as a generic tool we will have to devise a way of storing, comparing, applying node settings *outside of actual node instances*. Then each node needs to tell how sockets are generated based on these properties. For the current nodes this would be far too complicated ...
2013-04-18 11:36:11 +00:00
Sergey Sharybin
3430068654 Fix #34970: in glsl mode the vertex paint face mask is not visible
Added face selection code to GLSL draw. We do this for Cycles
already, shall behave expected now.

Checked by Ton, thanks!
2013-04-18 10:39:53 +00:00
Ton Roosendaal
bde6a939e6 View2D could potentially divide stuff by zero, giving bad matrices. 2013-04-18 10:22:42 +00:00
Ton Roosendaal
dfa30f8207 Bug fix #34943
With extreme narrow scaled editors, the slider/mask code in View3d could deliver
zero sized or invalid window matrices.

Needs confirmation from Sergey if it works :)
2013-04-18 10:10:58 +00:00
Campbell Barton
5f613886ef fix range for face distortion and display for concave ngons. 2013-04-18 09:12:06 +00:00
Sergey Sharybin
4df0c46f83 Make freestyle use local Main for temporary objects
This means main database is no longer pollutes with
temporary scene and objects needed for freestyle
render.

Actually, there're few of separated temporary mains
now. Ideally it's better to use single one, but it's
not so much trivial to pass it to all classes. Not
so big deal actually.

Required some changes to blender kernel, to make it
possible to add object to a given main, also to
check on mesh materials for objects in given main.
This is all straightforward changes.

As an additional, solved issue with main database
being infinitely polluted with text blocks created
by create_lineset_handler function.

This fixes:
- #35003: Freestyle crashes if user expands objects in FRS1_Scene
- #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-18 08:58:21 +00:00
Ton Roosendaal
093f95afaa Bug fix #34868
Pulldown menus with long shortcut text labels got clipped badly occasionally.
Made the offset follow DPI better.
2013-04-18 08:51:07 +00:00
Campbell Barton
8a06acfd7a add mesh distort display mode (highlights distorted faces) 2013-04-18 04:24:18 +00:00
Campbell Barton
e7895abb32 make bmbvh call BM_mesh_elem_index_ensure(), further calls to utility functions assert if the index values becomes dirty. 2013-04-18 02:01:59 +00:00
Campbell Barton
3f7f07faf5 style cleanup 2013-04-18 01:52:38 +00:00
Campbell Barton
9cceec40c4 use modified vertex coords for calculating display thickness and intersections.
internal improvement to editmesh_bvh.c

- optionally pass cage-coords as an arg, rather then calculating the coords in BKE_bmbvh_new(),
  since all callers already have coords calculated.
- de-duplicate coords creation function from knife and bmbvhm, move into own generic function: BKE_editmesh_vertexCos_get()
2013-04-18 01:20:04 +00:00
Campbell Barton
2fefbf24a5 bmbvh was allocating an array for vert coords but not using it, removed.
also use generic name for callback data.
2013-04-18 00:24:44 +00:00
Campbell Barton
67034c378d fix for BMBVH_USE_CAGE option,
knife tool with modifier was broken when modifier cage was used.
2013-04-18 00:19:57 +00:00
Campbell Barton
4a7feafa49 Support object scale for mesh display options. (currently only uniform scale for thickness test) 2013-04-17 23:30:19 +00:00
Antony Riakiotakis
3fcb75f0b9 Fix thumbnails not appearing on MinGW64, was actually a mistake on
MinGW-w64 headers (where _stat is actually _stati64), but since we
recommend a specific compiler build it's OK for now. Also tweaked other
places where _wstat is used.
2013-04-17 19:35:33 +00:00
Lukas Toenne
2cf167cd21 Fix for #34911, Compositor with multiple views autozooms to node when creating a link. In order to allow node trees have different offsets in different editor instances, the view_center is now stored primarily in the bNodeTreePath struct for each tree in a node space. The view_center in bNodeTree is only used as an initial setting when opening a node group or switching node trees. 2013-04-17 17:12:12 +00:00
Lukas Toenne
3d78032251 Fix for node editor lib_link and memfile restore (undo): The snode->nodetree/first tree path pointer was not properly mapped on file load due to the fact that it's stored locally in other ID data blocks. Undo was restoring the pointer correctly, but used an ugly hack. Now the SpaceNode->id pointer is linked first, then the datablock is checked for an internal node tree, which is then used instead of trying to lib-link the node tree pointer. 2013-04-17 15:55:10 +00:00
Brecht Van Lommel
0fc4f4b791 Fix for render results acquire/release in viewport render, should only release
after drawing to be thread safe.
2013-04-17 14:47:52 +00:00
Ton Roosendaal
96dffe952b Bug fix #34974
The open region indicator (with +) didn't do alpha blending properly, so it wasn't
visible for any theme color.
2013-04-17 13:40:00 +00:00
Antony Riakiotakis
adfa7c8afa Don't use auto vectorization for MinGW-w64. It may be a source for
trouble. Also fixed a few harmless warnings.
2013-04-17 11:16:53 +00:00
Campbell Barton
14f9f167b2 display options to help with 3d printing.
editmesh debug info,
- overhang (with axis angle options)
- wall thickness (with min/max distance)
- self-intersections.

access below 'Mesh Display' panel.
2013-04-17 09:27:23 +00:00
Campbell Barton
cfefa1d086 add function BKE_bmbvh_find_face_segment()
given a segment, finds finds an intersecting faces from the first point to the second, needed for checking self intersections (not used yet).
2013-04-17 06:29:13 +00:00
Campbell Barton
861a38ea09 code cleanup: bmesh bvh
- remove unused members from BMBVHTree
- move per-raycast vars from BMBVHTree into per-callback structs (weren't threadsafe).
- simplify BKE_bmbvh_find_vert_closest().
2013-04-17 06:18:21 +00:00
Campbell Barton
b0752f1b89 add interp_v3_v3v3v3_uv() to use for use with uv value from isect_ray_tri_v3(), rename tree -> bmtree for BMBVHTree. 2013-04-17 05:49:06 +00:00
Campbell Barton
8ee1de2de3 text editor reload no-longer resets scroll & cursor - annoying when making tweaks to UI scripts.
also restrict freestyle hack to WITH_FREESTYLE define.
2013-04-17 04:53:23 +00:00
Campbell Barton
7abc2243b6 style cleanup 2013-04-17 01:16:23 +00:00
Ton Roosendaal
ae58968e0a Blender Internal Render in viewport
Because of our release soon, feature has been added behind the Debug Menu.
CTRL+ALT+D and set it to -1. Or commandline --debug-value -1.

When debug set to -1, you can put the viewport to 'render' mode, just like
for Cycles. Notes for testers: (and please no bugs in tracker for this :)

- It renders without AA, MBlur, Panorama, Sequence, Composite
- Only active render layer gets rendered. Select another layer will re-render.
- But yes: it works for FreeStyle renders!
- Also does great for local view.
- BI is not well suited for incremental renders on view changes. This only
  works for non-raytrace scenes, or zoom in ortho or camera mode, or for 
  Material changes. In most cases a full re-render is being done.
- ESC works to stop the preview render.
- Borders render as well. (CTRL+B)
- Force a refresh with arrow key left/right. A lot of settings don't trigger
  re-render yet.

Tech notes:

- FreeStyle is adding a lot of temp objects/meshes in the Main database. This
caused DepsGraph to trigger changes (and redraws). I've prepended the names
for these temp objects with char number 27 (ESC), and made these names be
ignored for tag update checking.

- Fixed some bugs that were noticable with such excessive re-renders, like 
  for opening file window, quit during renders.
2013-04-16 17:39:20 +00:00
Sv. Lockal
6dcee054be Set min value for sampling value of freestyle line geometry modifier to 0.
Negative sampling does not make any sense and leads to crash.
2013-04-16 17:12:04 +00:00
Antony Riakiotakis
858c7acd5b Fix: texture scaling for sculpting is different between overlay and
stroke. The reason is that we use a different sampling function.
Reported by Michalis Zissiou, thanks!
2013-04-16 16:22:26 +00:00
Antony Riakiotakis
c1276960e8 Fix some names, and move overlay flag to overlay_flags. 2013-04-16 15:59:02 +00:00
Campbell Barton
51cb077f16 add missing call to flush selection on selecting manifold geometry. 2013-04-16 15:45:30 +00:00
Campbell Barton
c458e051d3 fix for BKE_bmbvh_ray_cast() returning one of the vertices normals rather then the face normal. also remove redundant NULL checks. 2013-04-16 15:35:01 +00:00
Campbell Barton
9f5006a967 add distance arg to BKE_bmbvh_ray_cast(). currently unused. 2013-04-16 15:16:48 +00:00
Antony Riakiotakis
53c9507c28 Option to hide overlay during a stroke. To enable, press the brush icon
next to the overlay alpha.
2013-04-16 15:02:41 +00:00
Campbell Barton
ea0ad013d3 bmesh speedup for bvh building, replace SmallHash with BLI_bitmap, using a hash doesn't make much sense since in most cases all vertices are accessed and the hash isn't guaranteed to be small.
gives ~9x speedup to filling 'cagecos' in my own tests on a high poly mesh.
2013-04-16 14:57:02 +00:00
Antony Riakiotakis
e39ea5f0a3 Fix crash when no brush is active. Reported by Francesco Siddi, on irc
thanks!
2013-04-16 14:00:18 +00:00
Campbell Barton
fe4305ef82 skip calling BKE_editmesh_tessface_calc() from BKE_bmbvh_new(), also quiet float/double warnings. 2013-04-16 13:01:46 +00:00
Sergey Sharybin
c429349054 Fixed compilation error with gcc 4.4 and 4.5
Was giving structure re-declaration error,
made it one typedef and struct declaration only.
2013-04-16 11:27:19 +00:00
Campbell Barton
a120049c3b use psys->seed for smoke random number generator, increase size of MATHUTILS_TOT_CB and reduce float->double conversions. 2013-04-16 09:04:34 +00:00
Tamito Kajiyama
547796db53 Fix for line instability with the Polygonization geometry modifier.
Extra long straight lines showed up randomly due to the use of an uninitialized
variable as a line length parameter.
2013-04-16 07:13:49 +00:00
Campbell Barton
37e73aa368 code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h 2013-04-16 05:59:48 +00:00
Campbell Barton
77da6b3662 move editmesh functions out editderivedmesh.c into editmesh.c 2013-04-16 05:46:17 +00:00
Campbell Barton
fa919d23bc move editmesh_bvh.c into blenkernel. 2013-04-16 05:23:34 +00:00
Antony Riakiotakis
e93f00d73d Compile fixes for recent commits 2013-04-16 00:56:24 +00:00
Brecht Van Lommel
d3a878688e Fix crash rendering environment maps. I think this freestyle code was not
intended to be here and probably was left over from some earlier code, as
resetting the configuration on render would lead to data loss.
2013-04-15 23:12:54 +00:00
Brecht Van Lommel
a1a4631f11 Fix crash rendering environment maps. 2013-04-15 23:12:52 +00:00
Brecht Van Lommel
f4fe1b8e77 Fix a few warnings. One was an actual bug in freestyle where stroke attributes
were not properly interpolated.
2013-04-15 23:12:49 +00:00
Brecht Van Lommel
afb4b65167 Random number generator: replace a bunch of usage of the global random number
generator with a local one. It's not thread safe and will not give repeatable
results, so in most cases it should not be used.

Also fixes #34992 where the noise texture of a displacement modifier was not
properly random in opengl animation render, because the seed got reset to a
fixed value by an unrelated function while for final render it changed each
frame.
2013-04-15 23:12:40 +00:00
Stuart Broadfoot
638b084f82 Cycles Hair: Strand Minimum Pixel Size
Code is added to restrict the pixel size of strands in cycles. It works best with ribbon primitives and a preset for these is included. It uses distance dependent expansion of the strands and then stochastic strand removal to give a fading. To prevent a slowdown for triangle mesh objects in the BVH an extra visibility flag has been added. It is also only applied for camera rays.

The strand width settings are also changed, so that the particle size is not included in the width calculation. Instead there is a separate particle system parameter for width scaling.
2013-04-15 21:38:31 +00:00
Brecht Van Lommel
ceb61eb14d Fix #34978: for cycles, images displayed in the UV editor where coupled to the
active image texture node in the material, now this is removed and the image in
the image editor is decoupled and not changed upon entering edit mode.

This system caused more confusion then it's worth, changing or removing textures
would modify the material but users would often not be aware of this.
2013-04-15 18:05:53 +00:00
Brecht Van Lommel
d260ccb927 Fix #34975: crash rendering curve/text with modifiers that alter topology,
was issue in new freestyle code.
2013-04-15 17:45:15 +00:00
Sergey Sharybin
24ef6f7add Touch properties when clearing/adding to a collection.
Fixes an issue when adding several movie strips fails
second time in sequencer.
2013-04-15 16:24:35 +00:00
Brecht Van Lommel
460456baca Fix for cycles border render optimization commit, render status bar was off by 1 pixel. 2013-04-15 16:18:33 +00:00
Sergey Sharybin
9b1a7b1cb5 Fix #34967: Display transform makes byte image with alpha=0 black
Skip premultiplication/de-premultiplication when acquiring display
buffer for a byte image. Will make conversion a bit faster also :)
2013-04-15 15:41:53 +00:00
Campbell Barton
59ca83c3a9 rename axis_angle_to_mat3_no_norm() --> axis_angle_normalized_to_mat3().
this matches closer to convention from existing functions - angle_v3v3() angle_normalized_v3v3().

also added assert to ensure argument given to axis_angle_normalized_to_mat3() is in fact normalized.
2013-04-15 15:16:11 +00:00
Bastien Montagne
03d6319862 Fix: when using a search menu with an operator's enum prop, the operator was previously always executed with default options (appart from the search-set enum, of course). Now we store the op's properties in search button, so that you can specify non-default options (as it was already possible with e.g. pop-up menu from an operator's enum prop).
To achieve this, some code (callbacks and search button creation) was moved from wm_operators.c to interface/interface.c, and a new UI function was added, uiDefSearchButO_ptr.

Note: This new code uses the fact that uiButHandleFunc callbacks get executed before operator when one of its arg is the button itself!

Many thanks to Campbell who helped me a lot with this patch!

Cleanup: also removed two unused pointers from uiBut struct.
2013-04-15 15:01:12 +00:00
Antony Riakiotakis
f6604f7612 New implementation for twist brushes.
It has much better rotation and avoids the compression effect that old
twist brushes have. Also twisting is now non periodic, meaning you can
twist beyond 180 degrees. The amount of twist is also calculated
relative to the angle formed after first translating the mouse away from
the brush center.
2013-04-15 14:55:42 +00:00
Antony Riakiotakis
faaa739580 WIP, jason's patch 2013-04-15 14:55:36 +00:00
Sergey Sharybin
91ee88dfd0 Fix #34972: Blender crashes when Force Field-> Curve Guide is created
Made it so where_on_path works correct when Curve does
have editNurbs but no Curve->nurbs.
2013-04-15 12:04:55 +00:00
Campbell Barton
f294b3b082 minor edits to DM_update_weight_mcol(), skip getting vars when in editmode, also remove old/invalid comment. 2013-04-15 08:43:17 +00:00
Lukas Toenne
d1f90abfa9 Removed the extra ntree->update flag check in lib_verify_nodetree in readfile.c. This is unnecessary as the update flag will be checked internally in ntreeUpdateTree anyway, except for the generic bNodeTreeType->update callback (it could even be harmful by preventing necessary updates that don't use the ntree->update flag). Executing this once after loading a node tree is a useful feature for pynodes, so they can do initial verification. 2013-04-15 07:58:15 +00:00
Campbell Barton
be71c46b24 code cleanup: minor BMESH_TODO's, some were left in even though they were done/invalid. 2013-04-15 04:34:14 +00:00
Brecht Van Lommel
c9a10b99ff Cycles: optimization for 3D viewport border render with heavy scenes, the OpenGL
render of objects could slow things down when redrawing the view each time a new
sample is displayed.

Now it does a partial redraw of the viewport with only the render border area,
skipping OpenGL object drawing while the render is refining.
2013-04-14 21:42:58 +00:00
Mitchell Stokes
8051ab07fc BGE: Cleaning up BL_ShapeDeformer's use of Blender's Key. This also fixes a bug with replicas (added objects) crashing when using shape keys. 2013-04-14 18:54:06 +00:00
Tamito Kajiyama
86f306f1d9 Freestyle stroke rendering is now done before lens flare. Suggested by Ton on IRC. 2013-04-14 17:24:02 +00:00
Sergey Sharybin
04680a0340 Fix for r55961 which revered texture icons fix at r55499
Reported by Antony Riakiotakis, thanks!
2013-04-14 14:54:08 +00:00
Peter Schlaile
1166609cd3 == FFMPEG / Canon DSLR footage workaround ==
The latest ffmpeg versions include a workaround to deal with a certain
pecularity in Canon DSLR footage: instead of decoding pictures with the
proper resolution of 1920x1080 they decode it with 1920x1088 and add a
black bar at the bottom.

Needless to say, that this screws up things in a lot of areas within blender
(proxy indices, mask animations etc.)

Since all blender versions besides Linux x86 32bit seem still to include
older ffmpeg versions which still contain this bug, this patch adds
a workaround for older versions until we have all versions on all platforms
up to date.

See also: http://git.libav.org/?p=libav.git;a=commit;h=30f515091c323da59c0f1b533703dedca2f4b95d
2013-04-14 13:44:04 +00:00
Campbell Barton
456f3b318a code cleanup: minor changes, clang checker option for exact size matches and use vector functions. 2013-04-14 12:01:12 +00:00
Campbell Barton
eb66c45301 correct pyapi function intersect_line_sphere_2d() using 3d vecs when only 2d are needed. 2013-04-14 11:57:35 +00:00
Campbell Barton
e369c2375b fix for tangent curve flipping only doing 2d angle tests. 2013-04-14 11:56:11 +00:00
Antony Riakiotakis
1e839ec8bc Texture stencil:
Robustness: Avoid translating the stencil outside the active area. Helps
to avoid losing the stencil somewhere in bitspace.

Usability: Take image repeat mapping and scaling into account when
fitting stencil aspect. Togglable by operator properties.
2013-04-14 09:43:12 +00:00
Thomas Dinges
356b393c0a Node Socket UI:
* Fix for Min/Max labels, they started with a lower-case character.
2013-04-14 09:07:38 +00:00
Campbell Barton
1e373ac048 minor speedup to BM_mesh_normals_update() 2013-04-14 07:46:45 +00:00
Lukas Toenne
ab6915b847 Fix for #34910, NodeGroup input/output sliders bug. Initially i thought this was a limitation of the "only 1 list per panel supported" type, but this has since been fixed. Lists just need an additional identifier to distinguish lists in the same panel, thanks to Bastien Montagne for the uiList overhaul! 2013-04-14 07:23:44 +00:00
Campbell Barton
585062a1cd use UNLIKELY macro for frequently called inline bli math functions. 2013-04-14 07:18:37 +00:00
Campbell Barton
da5e0ea8fe bmesh operators: use operator type-flag to specify which operations require normal-calculations and which operations require selection flushing.
eg, no need to flush selection after 'Smooth' tool, no need to recalculate normals after 'Select Similar'.
2013-04-14 06:22:34 +00:00
Campbell Barton
ba283d6c9b modify snapObjectsRayEx() to use a pointer to 'ray_dist' rather then passing the dist, this is to better support multiple calls to ray-cast where only closer distances are accepted. 2013-04-14 05:37:43 +00:00
Mitchell Stokes
d2b14ed4f0 BGE: Adding mipmapping control to bge.render via bge.render.setMipmapping() and bge.render.getMipmapping(). 2013-04-14 00:40:24 +00:00
Tamito Kajiyama
6b37baf34c Fix for [#34913] Freestyle: Problem w/ Edge Marks combined w/ Collision.
Freestyle edge marks were messed up with Collision and other physics mesh modifiers.
The issue was due to copied Vlak instances without resetting edge marks to proper values.

Also made minor changes for avoiding unnecessary hash table lookups, and added an
assertion to check potential buffer overrun.
2013-04-14 00:27:31 +00:00
Mitchell Stokes
dbf4328f3f BGE: Adding a render.setFullScreen() and a render.getFullScreen() to allow fulscreening games via Python. 2013-04-13 21:09:02 +00:00
Campbell Barton
81cfbaacb0 code cleanup: edit-derived-mesh, define 'BMesh *bm' as local variable, avoid 'bmdm->em->bm' within functions. 2013-04-13 20:58:49 +00:00
Campbell Barton
5996242291 fix for error in editmesh derived callbacks, emDM_getVert(), emDM_getEdge(), emDM_getTessFace().
Currently the functions aren't used since they would fail have failed immediately.
2013-04-13 20:40:34 +00:00
Campbell Barton
6da961775f code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere). 2013-04-13 20:31:52 +00:00
Campbell Barton
31c375b97a Mesh Drawing:
Option to draw mesh vertex-weights in editmode, available from the 'Mesh Display' panel.

TODO: get this to work when modifiers are applied in solid mode (texface-solidmode is working).
2013-04-13 20:20:21 +00:00
Campbell Barton
e1c9353c94 code cleanup: more minor changes for editmesh face drawing. 2013-04-13 18:11:27 +00:00
Campbell Barton
4d1e8cec1a code cleanup: editmesh draw functions, make face drawing more consistent. 2013-04-13 17:57:11 +00:00
Lukas Toenne
dfeddd3549 Node editor: create the toolbar area right at the start in node space, in order to show the '+' icon for expanding. 2013-04-13 17:36:31 +00:00
Bastien Montagne
649b92e688 Fix: uiBlockSetNFunc was using uiButHandleFunc as param signature, instead of uiButHandleNFunc one (was working because both are the same currently). 2013-04-13 16:28:39 +00:00
Lukas Toenne
94931f9f45 Replacing the node Add menu and making the toolbar useful
As some people have already noticed, the "Add" menu for nodes is a bit messy since pynodes merge. The reason for this is that the order of nodes in submenus (categories) was previously defined by the order in which all nodes are registered (at the bottom of blenkernel/intern/node.c). For the dynamic registration of node types now possible this system of defining node order along with registration is no longer viable: while it would still sort of work for C nodes, it is completely meaningless for dynamic (python) nodes, which are basically registered automatically in whatever order modules and addons are loaded, with the added complexity of unloading and reloading.

To fix this problem and add a bunch of desirable features this commit replaces the C menu with a python implementation. The new menu does not rely on any particular order of types in the node registry, but instead uses a simple explicit list of all the available nodes, grouped by categories (in scripts/nodeitems_builtins.py).

There are a number of additional features that become possible with this implementation:

1) Node Toolbar can be populated!
The list of nodes is used to create 2 UI items for each node: 1 entry in a submenu of "Add" menu and 1 item in a node toolbar panel with basically the same functionality. Clicking a button in the toolbar will add a new node of this type, just like selecting an item in the menu. The toolbar has the advantage of having collapsible panels for each category, so users can decide if they don't need certain nodes categories and have the rest more easily accessible.

2) Each node item is a true operator call.
The old Add menu is a pretty old piece of C code which doesn't even use proper operator buttons. Now there is a generic node_add operator which can be used very flexibly for adding any of the available nodes.

3) Node Items support additional settings.
Each "NodeItem" consists of the basic node type plus an optional list of initial settings that shall be applied to a new instance. This gives additional flexibility for creating variants of the same node or for defining preferred initial settings. E.g. it has been requested to disable previews for all nodes except inputs, this would be simple change in the py code and much less intrusive than in C.

4) Node items can be generated with a function.
A callback can be used in any category instead of the fixed list, which generates a set of items based on the context (much like dynamic enum items in bpy.props). Originally this was implemented for group nodes, because these nodes only make sense when linked to a node tree from the library data. This principle could come in handy for a number of other nodes, e.g. Image nodes could provide a similar list of node variants based on images in the library - no need to first add node, then select an image.

WARNING: pynodes scripters will have to rework their "draw_add_menu" callback in node tree types, this has been removed now! It was already pretty redundant, since one can add draw functions to the Add menu just like for any other menu. In the future i'd like to improve the categories system further so scripters can use it for custom node systems too, for now just make a draw callback and attach it to the Add menu.
2013-04-13 15:38:02 +00:00
Ton Roosendaal
a710434f56 Usability fix, own collection.
If you have two windows, each with different scene, the render output for a window
would go to the other, if it was already drawing a render for the other scene.

Now you can have renders draw correct in two windows for two scenes.
2013-04-13 15:14:34 +00:00
Campbell Barton
2baa59e36d code cleanup: remove unused string formatting in bli_adddirstrings(), also remove unused initializations and comment unused vars. 2013-04-13 14:57:08 +00:00
Ton Roosendaal
53bb59f209 Accidentally left in test function. All's fine now! 2013-04-13 14:15:16 +00:00
Antony Riakiotakis
9e8047d37b Fix compilation, ifdef test_file just in case it is useful for later. 2013-04-13 14:05:31 +00:00
Thomas Dinges
84071fbf0a Cycles / Save Buffers:
* Save Buffers could not be disabled in the UI, when "Full Sample" was enabled in Blender Internal.
2013-04-13 12:49:22 +00:00
Ton Roosendaal
d867cefa32 Bug fix #34896
The feature "Keep Session" was also loading that session when you double-click
on a .blend to open it, or when a .blend file was on commandline.

Moved this feature to the main() in creator.c, so it can check on it properly, skipping the
kept session when a file was loaded.
2013-04-13 12:03:20 +00:00
Gaia Clary
9eea6c7057 improved tooltips even more (as discussed in IRC) 2013-04-13 09:32:27 +00:00
Gaia Clary
f181952a28 improved tooltips 2013-04-13 09:27:03 +00:00
Antony Riakiotakis
fb9d88692d Add update to brush texture preview when brush is changed. Solves
cycling through tools with number or tool keys and no texture preview
getting updated.
2013-04-13 08:41:52 +00:00
Campbell Barton
2c47244954 code cleanup: use const char for args and replace wm_keyconfig_list_find() -> BLI_findstring() 2013-04-13 04:28:04 +00:00
Campbell Barton
2f9b7410dc code cleanup: warnings + style 2013-04-13 00:43:49 +00:00
Antony Riakiotakis
7cf1d86e4a Allow rake/random brush rotation for random mapping mode. Some
interesting things can be accomplished this way, such as tiger stripes
for instance.
2013-04-12 23:55:11 +00:00
Antony Riakiotakis
9d0b08365f Fixes:
* Overlay invalidation did not happen when changing brush, .either
through UI or through shortcuts
* Add initiliazation of curves before threaded overlay texture
evaluation or we may get memory leaks due to race conditions.
2013-04-12 21:58:18 +00:00
Antony Riakiotakis
a074df37c7 oversight on scons, this should fix. 2013-04-12 17:59:38 +00:00
Antony Riakiotakis
d0beabb642 Add function to query maximum texture size. Also, make texture upload
functions aware of this limit.
2013-04-12 17:56:07 +00:00
Antony Riakiotakis
a305452275 Paint refactoring commit, non-disruptive (in theory :p)
* Fix precision overflow issue with overlay previews,
* Expose alpha mask mapping to UI (still not functional but coming soon).
* More overlay refactoring:

Overlay now does minimal checking for texture refresh.
Instead, we now have invalidation flags to set an aspect of the brush
overlay as invalid. This is necessary because this way we will be able to
separate and preview different brush attributes on the overlays, using
different textures:

These attributes/aspects are:

Primary texture (main texture for sculpt, vertex, imapaint)
Secondary texture (mask/alpha texture for imapaint)
Cursor texture (cursor texture. It involves brush strength and curves)

Modified the relevant RNA property update functions and C update callback
functions to call the relevant cursor invalidation functions instead
of checking every frame for multiple properties.

Properties that affect this are:

Image changes, if image is used by current brush,
Texture slot changes, similarly
Curve changes,
Object mode change invalidates the cursor
Paint tool change invalidates the cursor.

These changes give slightly more invalidation cases than simply
comparing the relevant properties each frame, but these do not occur in
performance critical moments and it's a much more elegant system than
adding more variables to check per frame each time we add something on
the system.
2013-04-12 17:21:31 +00:00
Antony Riakiotakis
8f658d4264 Add property update for radial control operator. It will be necessary
for upcoming overlay refresh commit, but since that commit is becoming
too big, better have this separate to avoid getting this lost in the
noise.
2013-04-12 15:45:44 +00:00
Lukas Toenne
58d211acdd Fix for user count when adding a new library node tree. This needs to decrease user count by 1 to compensate for increment in RNA_property_pointer_set. 2013-04-12 15:42:16 +00:00
Brecht Van Lommel
55ac53fcde Fix #34322: cycles crash with (undo) save during threaded render. The mesh save
code was modifying pointers in the Mesh which gave crashes with another thread
accessing the data at the same time. This could crash other threaded operations
like blender internal render or physics baking too but was less likely.

As a solution I've now changed the save code that it does not modify the mesh
data structure in place but rather a copy, as undo file saving should probably
be fully read-only regardless of how an improved threading architecture might
work.

Thanks to Sergey for tracking down the cause of this crash.
2013-04-12 15:33:09 +00:00
Brecht Van Lommel
22230ced41 Fix #34961: camera fly mode would reset camera scale. 2013-04-12 14:25:08 +00:00
Sergey Sharybin
27097d1373 Blender is compilable with strict compiler flags again 2013-04-12 13:01:50 +00:00
Ton Roosendaal
adb96478a7 Adding scrollbar default to Python console and Python Info log. 2013-04-12 12:30:05 +00:00
Lukas Toenne
c83925599a Added 'move' functions to the inputs and outputs node socket collections (similar to move function in CollectionProperty). This is useful to change the socket order in pynodes. Otherwise one would have to remember socket values and links, remove a socket, insert a new one and copy back these values, which is tedious and error prone. 2013-04-12 12:19:22 +00:00
Campbell Barton
e8474d64f8 minor edit to bake printouts which could get mixed because of \r. 2013-04-12 12:03:56 +00:00
Lukas Toenne
09a82f413d Removed a lot of now-unnecessary checks from node RNA. The typeinfo pointers in bNodeTree, bNode and bNodeSocket are now always pointing to valid type structs. If a tree, node or socket has an unknown type at load time it will be pointed to a dummy "UndefinedType" struct instead, which has default settings and allows for nice debugging. Checking if node->typeinfo etc. is NULL is not necessary any more, makes code a lot easier and smaller. 2013-04-12 11:43:21 +00:00
Sergey Sharybin
0d86c3f84c Image draw method option
This option replaces previously added GPU limit
option, which became tricky to follow after GLSL
display space conversion.

There're 4 modes available:
- AUTO which will try to guess which mode is
  best to use.
  Currently It'll try using GLSL and if it fails,
  will fallback to 2D textures.
  Probably it'll make sense checking on whether
  2D textures works well but currently such behavior
  shall be sufficient.
  Later we could make this method smarter (for example
  don't try to use GLSL on certain GPU or so).
- GLSL will currently behave the same way as AUTO,
  but it is intended to always try using GLSL
  (unless it can not be used because of existing
  limitation of dither and RGB curves).
- 2D Textures will use CPU-based color space conversion
  and use OGL 2D Texture to display the image.
  Image will be displayed in tiles, so there shall be
  no big GPU memory consumption.
- DrawPixels will straightly fallback to glDrawPixels
  without trying to use any fancy GPU stuff.

Hopefully this will also fix
#34943: Blender crashes when resizing the Compositing Screen Window
2013-04-12 10:52:47 +00:00
Lukas Toenne
be35762950 Made the update callback in bNodeTree registerable in RNA, this was still missing for pynodes. This update callback can be used for "global" updates of the node tree as a whole, as opposed to "local" updates of individual nodes. Any kind of update that takes node connections into account (such as dependency sorting) and does not just work on a single node should be done in the nodetree.update function rather than node.update. 2013-04-12 08:43:08 +00:00
Lukas Toenne
048df1a07c Small change to the node space RNA function for opening a node group: pass the node tree as explicit argument plus an optional group node, instead of trying to get the node tree from a node property. This is more flexible for future nodes that want to change the node editor. Node group operators can rely on group node types, but the generic RNA functions should not. 2013-04-12 07:35:49 +00:00
Campbell Barton
ba845f6313 fix for own recent addition of transform indervidual-axis in editmode, not working if the object was rotated. 2013-04-12 02:16:44 +00:00
Dalai Felinto
1c80388a73 bge fix: framing mode "Expanded" not updated when resizing blenderplayer
now, with a 'resize' routine for the engine we can/should also recreate some
buffers that are created only at init time (e.g., 2d filters, dome fbos, ...).

This bug was always present in Blender (since 2.49 at least).

Bugfix supported by NF-UBC Nereus Program as part of the development
of OceanViz/NereusViz
2013-04-12 01:52:30 +00:00
Campbell Barton
502ddd3128 code cleanup: warnings and style. 2013-04-12 00:50:40 +00:00
Brecht Van Lommel
742c1cb328 Related to #34558: clarify the description for the "default" parameter in bpy.props.EnumProperty. 2013-04-11 18:10:57 +00:00
Jens Verwiebe
bd07cac232 Correct stub for snapObjectsRayEx 2013-04-11 15:40:57 +00:00
Jens Verwiebe
f8293b8068 Add stub for snapObjectsRayEx 2013-04-11 15:35:16 +00:00
Jens Verwiebe
8128444bad Add stub for snapObjectsRayEx 2013-04-11 15:33:10 +00:00
Thomas Dinges
e835863254 And another compile fix for Windows / scons for r55946. 2013-04-11 15:33:04 +00:00
Thomas Dinges
38cf856ea9 Compile fix for r55970. 2013-04-11 15:21:03 +00:00
Brecht Van Lommel
120fe74ffe Fix #34817: improve OpenGL preview render speed, it got quite a bit slower since 2.60.
Doing linearization with GLSL was already faster, but even faster is to just read the
bytes instead of floats and convert those to linear, since byte => float is just a quick
256 entry table lookup. Also made it assign the bytes directly to the image buffer so
they do not need to be converted back from float to byte for file saving, and made sky
render write the background color with OpenGL instead of doing it on the CPU.
2013-04-11 15:15:06 +00:00
Brecht Van Lommel
7164596891 Fix #34956: rendering animation with audio would crash with an older ffmpeg
after recent changes.

New ffmpeg versions accept align = 0 as a parameter and will set it to 1
automatically, but older ones need to pass align = 1.
2013-04-11 14:46:41 +00:00
Sergey Sharybin
07580e71a6 Fix issue with bright frames appearing in clip editor when compositor is open.
Allocate float buffer outside of image buffer,
so work-in-progress color space conversion doesn't
interfere with other parts of blender.

Covers most of cases -- since image buffer wouldn't
have partially-update float buffer all the rest
areas would be happy.

However, if there're places which updates float
buffer from byte buffer, it's still possible
some WIP color space conversion is displayed on
the screen.

But what a heck someone will do such a crappy
conversion anyway!
2013-04-11 14:15:52 +00:00
Antony Riakiotakis
5c4a080021 Fix #34954, due to hardcoded key release it was impossible to change key
for sample color and exit the operator. Also tweaked stencil to behave
similarly, so it is now possible to assign custom keys to stencil
control.
2013-04-11 14:15:25 +00:00
Brecht Van Lommel
4d7db8e59e Fix #34929: windows would show a "No disk in drive" error popup when one of the recently opened files was on a DVD that's no longer there in the DVD drive. 2013-04-11 14:13:20 +00:00
Sergey Sharybin
6569ab813f Fix for material icon rendering with cycles
Materials icons used to miss transparent background
and were using world environment which didn't give
so nice results.

Reviewed by Brecht, thanks!
2013-04-11 12:49:57 +00:00
Antony Riakiotakis
fa3770eb66 Fix #34923 Images that have their alpha calculated should not get de-premultiplied. 2013-04-11 12:37:33 +00:00
Campbell Barton
94c9010e24 make scene.ray_cast() behave like object.ray_cast(), add distance arg to snapObjectsRayEx(). 2013-04-11 10:17:06 +00:00
Campbell Barton
bf77ad00b3 py api:
ray cast function, very useful to be able to cast rays into the scene for scripts.

  hit_co, hit_no, success = scene.ray_cast(start_co, end_co)
2013-04-11 09:57:26 +00:00
Sergey Sharybin
548f0fb88c Use SWS_FULL_CHR_H_INT for SWS context for more accurate conversion
Suggestion by Bjeorn Sonnenschein from report #34755.
2013-04-11 09:37:52 +00:00
Campbell Barton
acac5b8402 fix for crash in own recent commit. searchbox's need their own keynav state since they won't always be in a uiPopupBlockHandle. 2013-04-11 08:33:19 +00:00
Campbell Barton
075a655cc6 fix [#34936] Unable to select items using only the arrow keys
ignore small mouse motions for menu/search-box after using the keyboard to navigate.
2013-04-11 02:28:34 +00:00
Campbell Barton
b77acc2879 add 2d length functions for testing pixel coords. len_manhattan_v2_int, len_manhattan_v2v2_int 2013-04-11 02:23:45 +00:00
Campbell Barton
e2a37db1d1 fix own mistake in recent inset-interpolation option, some faces were not interpolating. 2013-04-11 00:23:09 +00:00
Campbell Barton
1143b658a0 fix [#34947] Alt-F Fill not working
Regression in r54579.
2013-04-10 23:59:37 +00:00
Campbell Barton
ece766ee7e code cleanup: unused defines, remove unused scanfill success value from BLI_scanfill_begin(). 2013-04-10 23:52:07 +00:00