Mat3ToScalef and Mat4ToScalef
These return a floating point scale value which is the average of the 3 axies.
Use this to adjust curve radius when applying scale/rot
Initial commit of imagebrowser in trunk.
BIG COMMIT!
Main changes:
* completely reworked imasel space
* creation and storage of the preview images for materials, textures, world and lamp
* thumbnails of images and movie files when browsing in the file system
* loading previews from external .blend when linking or appending
* thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/
* for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still.
* filtering of file types (images, movies, .blend, py,...)
* preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete)
More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser
Places that need special review (and probably fixes):
* BLO_blendhandle_get_previews in readblenentry
* readfile.c: do_version and refactorings of do_library_append
* UI integration
TODO and known issues still:
* Accented characters do not display correctly with international fonts
* Crash was reported when browsing in directory with movie files
* Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome!
Credits:
Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images.
Many thanks to everyone who gave feedback and helped so far!
The conversion from float to char (byte) was not correct. It should include
the possibility for colors like 0.999999 to become 255 still. The correct
multiplication factor I don't know though... and this should become a system
wide definition!
Outliner "make local" was not coded properly. Removed it for now...
Proper implementation would check all other used pointers, to indicate
the data is now local, and ID pointers should be of type "lib extern"
This commit ports Hue Saturation Value node to the material node system.
Unlike in composite version, each value is an input. Composite node version
will be updated later to use the same scheme.
for shading if their 'visibility factor' is below 0.001. This
gives no perceptible visual difference in my tests, but can
significantly speed up shading when using lots of omni lights
with quad falloff over a large area. Since quad lamps never
actually fall off to 0, previously every lamp would be considered
for shading each pixel, even if such lamps had a tiny falloff
distance, and were miles away.
Submitted by: David Bryant
This patch adds 2 new drawtypes for empties (circle draws a 2d-circle on the x-z plane, and cube draws a regular cube), and allows empties to be used as custom bone shapes.
I've modified the patch a bit to fix up weird formatting, optimising the circle-drawing method, but the cube-drawing function has been maintained. In the process, I also moved the mesh-specific code in draw_object_instance to draw_object_mesh_instance so that empties can be used by whatever else might use draw_object_instance too.
=============================
- In textured drawmode it now draws the texture, with solid mode lighting.
- UVs and vertex colors for subsurf are not computed incremental yet, so
editing in textured drawmode then may not be as fast as the other modes.
Implementation Notes:
- Added textured drawing functions to the editmesh and subsurf derivedmeshes.
- Removed some unused, legacy subsurf code that directly used Mesh.
- Restructured texture drawing a bit to make it more clear and allow for
editmode drawing.
(Peach feature request)
replacing PyWeakref_NewProxy with PyWeakref_NewRef fixes this problem.
list(bpy.data.armatures) # would mess up weakrefs
[arm for arm in bpy.data.armatures] # didnt.
The "Strands" settings is a BlockBut and never return B_MATPRV like the others buttons, because of this,
never call BIF_preview_changed.
It's posible two fix for this:
1) make all the buttons into the "Strands" panel return B_MATPRV (this modify the "work mode" of the panel)
2) Add a call to BIF_preview_changed to the end of strands_menu function (as do_matbuts).
The problem with the first options, is that the panel "close" when you press/release some of the buttons, so
to preserve the current "work mode" of the panel, i choose the second option.
data = arm_ob.data
bones = arm_ob.data.bones.values()
Fixed by returning existing armatures if they exist in the weakref list. tested with FBX and BVH support.
* Grouped Up/Down buttons in constraint panel headers, and fixed their tooltips
* Removed unused variable from action editor code
* Minor formatting in constraint.c
This crash only occurred when the RigidBody constraint was used, and the toObject field was set to an armature, as the RigidBody constraint doesn't use subtargets.
This commit adds autocompletion and "red alert" feature to text input
fields (UV and VCol) of the Geometry material input node. The functionality
is similar to one found in UV part of the "Map Input" panel found in Material
buttons context of the Buttons Window.
Just a quickie feature I needed here at work- the previous linear
interpolation of tilt in curves can give nasty pinching problems
when trying to do flowing curves like a ribbon. This commit lets
you choose the interpolation type, between Linear, Cardinal, and
BSpline. The code was already set up for it pretty easily, mainly
needed to make the choice visible to the user.
Example:
http://mke3.net/blender/devel/etc/tilt_interp_types.png
Works on selected curve 'lines', menu in 'curve tools' panel in
edit mode.
These nodes allow the user to separate and combine RGB color channels
as in the composite node editor. However they don't contain Alpha
channel as it is treated separately in case of material nodes.
"Combine RGB" allows the user to use values beyond standard float range
([0.0, 1.0]) if value input node is used to feed the value to it.
Previously, the implementation of this was quite awkward, with
the preference swapping mouse buttons globally, rather than just
selection, as is advertised on the pref. This had the effect of
changing the painting in sculpt/texture paint/weight paint/etc to
the left mouse button. This was totally silly, since when using a
tablet, left mouse select is the sane way to go, but it meant
that every time you wanted to sculpt or paint, you had to switch
the mouse buttons around so you could actually use the tablet as
normal.
This commit fixes that, and makes the preference do just what it
says, use left mouse for selection (i.e. in object/edit mode) and
only that.
Tooltip getStringSize and getBoundingBox correction
Not really any user-visible changes here, but a nice clean-up of
internal font drawing functions, in this case used in tooltips.
Thanks!