The problem is the opensource nvidia nouveau drivers are slow running glReadPixels(), was hanging on memcpy().
However for autodepth its not needed to update the entire 3D view depths, so added view3d_update_depths_rect() to get the depths for a smaller area.
Rather then have the modifier calculate ORIGINDEX weather its needed or not (incorrect if it wasn't the first modifier on the stack),
create ORIGINDEX layer initially if any of the modifiers use it.
This way hook also works after Mirror and Screw modifiers which have the ORIGINDEX layer copied implicitly with DM_copy_vert_data().
This wasn't possible to check for before because this flag was always enabled so it would be passed to DM_set_only_copy().
Now just add the flag whenever calling DM_set_only_copy().
committed r32598 to fix [#24309] Reloading file with incorrect path location.
Setting the curves ctime when updating the object data overrode the animated value.
For now just set the ctime on newly added curves with will work as the user expects in most cases.
This is weak design IMHO because the ctime value can be set to anything but is reset on changing frames even if its not keyed.
With curves created via python or linked in this can still result in a bad ctime value.
also added api function ED_area_tag_redraw_regiontype(), so an area can redraw all regions by type.
In this case there is a view3d area listener that needs to draw all WINDOW regions.
Fixed bug #22634, sculpting/multires and wireframe display mode glitches
* Changed ccgdm edge drawing to always use face griddata rather than edge data, since edge data is not updated during sculpting.
Fixed bug #24239, "Fkey doesn't work in image paint unless also in 3D texture paint"
* Fixed brush cursor not showing when painting in the image editor without 3d texture painting enabled
* Fixed fkey not working when not in 3d texture paint
Note:
This does not handle showing the brush cursor when reloading a file saved with image painting on but 3d texture painting off. The method used for object paint modes doesn't apply quite the same here, so I left that alone for now.
Reported and patched by Shane Ambler.
Took the opportunity to silence warnings in readfile.c. For Windows in SCons I enabled /WX
for blenloader. This means that all enabled warnings will throw errors from now on.
* The problem is that shadow pass is derived from the diffuse pass as
shad = shad'/diff, where shad' = shad*diff. In cases where diff is
0 and the division can't be done shad is left as shad' (=0).
* This all works just fine until the diffuse color is 0 on just one
channel (no red in material color for example). In this case the shadow
pass is left as 0 too regardless of the existence of an actual shadow,
so the end result is a colored shadow!
* The only real solution is to use the original shadow intensity to
determine if there actually is a shadow or not. This is now stored in
shr->shad[3] from the lamp shadow calculation.
Note: The best solution would probably be to calculate the shadow pass on
it's own and not to derive it from the diffuse pass, but I didn't dare to
start messing up the shading code totally.
slight change to how transform calculates the center of each bezier handle selection.
- selecting both handles but not the knot now uses the mid point between the 2, before it used the handle.
- selecting 1 handle of a curve was still setting td->center to be the knot, now use the handles location only if its selected.
Drawing the view axis went to a lot of trouble to create a color which didnt look very good if the grid had a color other then grey set.
Simplify the function and just use the same colors as the manipulator, also use 2px fixed line width.
the cu->ctime was never set if the frame wasnt changed, so adding a curve and parenting could be done without a frame change leaving the cu->ctime value at zero.
changing the frame or rendering after this would make the parent relationship jump.
Set the curve->ctime in object_handle_update(), this way its set on file load and when linking in new curves.
Another option is to do this when parenting but probably this would miss other cases where its needed.
--- fixes report by ronan ducluzeau
Scale default cube on X axis to -1.
Rotate it on X axis to 33°.
Parent cube to lamp.
Clear parent and keep offset.
Cube's scaling value on X axis pass from -1 to 1
Cube's rotation value on Z axis pass from 0° to 180°
Fixed bug #24111, "Mirror clipping not working while sculpting a mirrored mesh"
* Mirror modifiers can handle multiple-axis mirroring, updated sculpt to work with that
* Marked the "axis" field of MirrorModifierData deprecated, since it looks like bitflags are supposed to be used now
Use through search menu (Toggle System Console) or
call bpy.ops.wm.toggle_console().
This is based on patch [#6927] Optional Console for Windows
by Fahrezal Effendi, submitted on July 10th, 2007 (!)
This paves the way for adding a command-line option to Blender to
toggle this cmd console, and for having a user preference option
for this. Command-line option I haven't added yet, as there seemed
to be problems with Python interpreter initialization (read: crashes).
This works by redirecting stdout and stderr to blenderlog.txt in user
temp directory (most likely %TEMP%\blenderlog.txt). When python problem
is fixed we can use this to always redirect stdout and stderr to this
logfile, making it also easier for us to ask users for this file in
bugreports.