Commit Graph

28190 Commits

Author SHA1 Message Date
Ton Roosendaal 216f9af08e Two in one:
- Bugfix #25937
  Child-of constraint now behaves like regular parent-child
  relationship when all options are set. This prevents the 
  errors that can happen when decomposing non-uniform matrices.

- Todo item
  The area corner hotspots for splitting/merging were far too
  narrow. Now it uses a circular distance to detect whether
  the hotspot is active. Also cleaned up drawing code for it.
2011-02-06 17:36:42 +00:00
Janne Karhu 0ea9271f43 Bug fix: Particles in dupligroups were mostly drawn properly in 3d view, but rendering them was a real mess.
* After countless different bugs particles should now render correctly inside dupligroups.
* Only particles with metaball visualization are still problematic, this is mostly due to the ancient metaball code.
* I'll also add a test file for some of the situations, so that hopefully these cases stay fixed :)
2011-02-06 15:50:00 +00:00
Campbell Barton d9aa3f66a6 mathutils.Matrix.Scale(factor, size, axis)
- 'axis' arg was not coerced from a tuple like other args now do.
- 'axis' arg was being modified in-place (VERY BAD).
- also made new function matrix_3x3_as_4x4().
2011-02-06 11:17:22 +00:00
Campbell Barton 1cdab667bc - cmake was missing an inclide (IDE's wouldnt index)
- made doc generation always sumlink newly built docs to static URL. http://www.blender.org/documentation/250PythonDoc/
2011-02-06 10:18:20 +00:00
Campbell Barton c82da98f3d bugfix [#25824] Quats + Camera + Fly = Madness
ensure quat, delta rotation is set to a unit quaternion on older files.
2011-02-06 09:01:01 +00:00
Campbell Barton 967299ad97 fix [#25947] Smart Project is broken SVN r34664
own recent mathutils updates broke this script.
2011-02-06 06:59:11 +00:00
Campbell Barton 48a8cba7a9 fix [#25948] blender-thumbnailer.py does incorrect checking for the number of arguments
noticed by Shinsuke Irie (irie)
2011-02-06 06:54:19 +00:00
Guillermo S. Romero 6705d5c7e7 SVN maintenance. 2011-02-06 00:49:58 +00:00
Martin Poirier dd924bb93b [#25693] Netrender "shadow" images with last frame always appear
More debugging info with -d

Also fix some conditions that didn't check the proper list in the ui.
2011-02-05 22:46:59 +00:00
Ton Roosendaal 2ed0ddef04 todo list item:
3D View:
In quad-view mode, the options to set back/bottom/left views were
blocked. Now they work again.

Note: the oparator polls don't have a check for properties... so it
cannot be finegrained here. Checks are inside code.
2011-02-05 19:07:54 +00:00
Brecht Van Lommel 00d95fb4bf Another fix for the raytracing commit, forgot that it also included vertex
reordering to be consistent with the rest of the render engine. That means
the self intersection issues with non-planar quads should also be gone now.
2011-02-05 17:54:00 +00:00
Ton Roosendaal 6011bac989 Bugfix #25944
Save image (F3) didn't remember the last saved path on 2nd use.
2011-02-05 16:32:56 +00:00
Peter Schlaile dbce60448f This fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custom proxy file. 2011-02-05 15:11:29 +00:00
Ton Roosendaal 626de1f3a2 Bugfix, own todo
Saving a file for the first time (after opening blender) didn't
use the last directory as saved/loaded from in a previous session.
2011-02-05 15:05:17 +00:00
Brecht Van Lommel 04299657a7 Raytrace modifications from the Render Branch.
These should not have any effect on render results, except in some cases with
you have overlapping faces, where the noise seems to be slightly reduced.

There are some performance improvements, for simple scenes I wouldn't expect
more than 5-10% to be cut off the render time, for sintel scenes we got about
50% on average, that's with millions of polygons on intel quad cores. This
because memory access / cache misses were the main bottleneck for those scenes,
and the optimizations improve that.

Interal changes:

* Remove RE_raytrace.h, raytracer is now only used by render engine again.
* Split non-public parts rayobject.h into rayobject_internal.h, hopefully
 makes it clearer how the API is used.
* Added rayintersection.h to contain some of the stuff from RE_raytrace.h
* Change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
  normalized and sometimes not, confusing... now dir is always normalized
  and dist contains the distance.
* Change VECCOPY and similar to BLI_math functions.
* Force inlining of auxiliary functions for ray-triangle/quad intersection,
  helps a few percentages.
* Reorganize svbvh code so all the traversal functions are in one file
* Don't do test for root so that push_childs can be inlined
* Make shadow a template parameter so it doesn't need to be runtime checked
* Optimization in raytree building, was computing bounding boxes more often
  than necessary.
* Leave out logf() factor in SAH, makes tree build quicker with no
  noticeable influence on raytracing on performance?
* Set max childs to 4, simplifies traversal code a bit, but also seems
  to help slightly in general.
* Store child pointers and child bb just as fixed arrays of size 4 in nodes,
  nearly all nodes have this many children, so overall it actually reduces
  memory usage a bit and avoids a pointer indirection.
2011-02-05 13:41:29 +00:00
Brecht Van Lommel 90cf78eb54 Fix bones moving when changing between editmode and posemode.
Patch #25901 by Tobias Oelgarte.

Bone transformations would be converted back and forth between different
representations when changing modes, which due to numerical errors could
lead to bone transformations slowly changing as you edit the armature.

Now the editmode head, tail and roll values are stored in bones and used
directly when entering edit mode. Head and tail were already there but
now we ensure they are the exact same value, roll was not yet there, so
we have a version patch for it.

The sub version was incremented to 1 for the version patch.
2011-02-05 13:19:14 +00:00
Ton Roosendaal fe99f35210 Renamed texture.c in render module, to prevent debuggers to
complain about the same named file in blenkernel.
2011-02-05 13:10:20 +00:00
Ton Roosendaal df9fade564 Bugfix 25871
Using displacement with new bump caused NaN values or crashes.
Since displace code doesn't provide derivatives, it now falls
back to "old bump" by default.
2011-02-05 13:07:51 +00:00
M.G. Kishalmi 311f5a8d78 accidentally left scaling code commented out when testing. 2011-02-05 11:46:44 +00:00
Campbell Barton d694115ac4 mathutils fixes noticed when refactoring.
- comparing eulers was ignoring the order.
- printing Euler()'s now prints the order too.
- un-orderable types (all except for Vector's), were not raising an exception when compared with >=, >, <, <=.
2011-02-05 10:40:42 +00:00
Campbell Barton 998198a041 mathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
each accept Euler/Quaternion/Matrix types.

eg:
  Euler.rotate(Quaternion(axis, angle))
  Vector.rotate(Euler((pi/2, 0, 0)))

matrix.resize_4x4() and euler.make_compatible() were still returning an instance of themselves, now return None.
2011-02-05 09:57:02 +00:00
Campbell Barton 8b52087d83 update for changes in mathutils. 2011-02-05 07:04:23 +00:00
Campbell Barton dd08305e75 Rename python mathutils functions and split in-place methods from those that return new values.
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils
This completes the changes proposed.

This will break scripts (fixing coming up next), for full list of changes see mathutils.c comments.
2011-02-05 06:14:50 +00:00
Dalai Felinto f2a6395e21 Logic UI: multiple fixes on Constraint Actuator
1) damping factor is not percentage (it's in frames, who would know that)
2) angles as degrees (cleaning the tooltips for those too)
3) setting Direction to None when changing from Loc and Fh Consts to Ori - negative axis is not supported in Ori Const. Buggy since ever (2.49).
2011-02-04 21:25:57 +00:00
Sergey Sharybin 25044dfa1b - Drivers should now be updated correct when curve changes topology
- Fixed regression with keeping alive f=curves for deleted CVs
  (was a mistake in previous commit in this area)
2011-02-04 21:10:27 +00:00
Sergey Sharybin 849ce60a32 Fix #25923: Active area of text editor line numbers too big
Area with width 60px was used for determing should we jump to line or
input new cahacter. Reduce this area to actual line numbers margin width.
2011-02-04 16:28:19 +00:00
Sergey Sharybin 4925581820 Fix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but no jitter available.
Manually disable jitter usage for anchored and drag dot brush stroke metdhods.
Jitter slider is hidden in UI for this strokes so users can't set it to 0 by hand
and even if this slider would be visible in UI jitter gives wierd result for
this stroke methods.
2011-02-04 16:10:30 +00:00
Janne Karhu 4e8a8d1e8f Improvements for particle grid distribution:
* Particles that aren't shown are now actually deleted (huge memory savings for flat objects).
* Grid distribution for flat objects is now done on the surface object surface without offset.
* Invert grid option wasn't in ui and it didn't work for non-volume grids.
* New parameter to randomize the grid point locations.
* Resolution soft/hard limits changed to even 50/250.
2011-02-04 15:48:13 +00:00
Nathan Letwory b407702c5f Fix [#19997] Duplicating window results in graphics corruption in UI
reported by Micael Dias (and many others, see duplicates list)

On closing the first ("main") Blender window the very first OpenGL context
got deleted too. This context needs to be retained, since we share quite a
bit of OpenGL data through it to the newly created contexts (new windows).
Thanks to Ton Roosendaal for thinking out loud while trying to figure out
what the actual cause was.
2011-02-04 13:22:02 +00:00
Nathan Letwory f3a19f4324 small typo fix 2011-02-04 13:18:44 +00:00
Joshua Leung deefe52821 Quick Animation Feature: Paste Pose "Selection Mask" option
After discussions with ZanQdo, it was agreed that the current workflow
for making a pose symmetrical was a bit too cumbersome, especially
when auto-keying was enabled, requiring pasting the flipped pose on
another frame so that the changes could be merged back in without
overwriting the "good" half of the rig.

This option for the Paste Pose operator makes things easier, by adding
an option which will make the pose only get pasted on to selected
bones instead of overriding the entire pose. By default this option is
turned off, but can be easily enabled either from the toolbar
(operator properties) or through the F6 popup.

The intended workflow with this option for making a rig symmetrical is
now:
1) Copy pose
2) Select "bad" bones
3) Paste Flipped
4) Enable "On Selected Only" for the operator

If there is sufficient interest, this option can even be enabled by
default. But, we'll see about that later
2011-02-04 11:43:30 +00:00
Campbell Barton 2ef93b1d92 swap Matrix.Shear(...) arguments so matrix size is the second argument, matching other constructors. 2011-02-04 09:41:59 +00:00
Campbell Barton feed9c3d1f mathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args. since axis was only allowed when plane was 'R'.
This was already done with Matrix.Rotation().
2011-02-04 09:35:20 +00:00
Campbell Barton 736a7b7a22 pep8 cleanup 2011-02-04 09:27:25 +00:00
M.G. Kishalmi f0eb3b56de hard- and ui-limit for particle grid resolution were vice versa. 2011-02-04 09:02:47 +00:00
Joshua Leung a155d8895d Moved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Scene (Toolsettings, i.e. alongside "layered" option for using NLA
while doing auto-keying)

This option makes all Auto-Keying operations use the active Keying Set
to carry out keyframing operations instead of picking and choosing
their own Keying Sets to use, thus cutting down on the number of
unwanted keys.

Warning: if the older userpref option was enabled in an old
startup.blend, it may be difficult to turn this option off.
2011-02-04 08:33:07 +00:00
Campbell Barton ce5dc02c8c fix for make stub, readlink was used incorrectly and building didn't work on BSD because of CPU detection. 2011-02-04 04:12:24 +00:00
Campbell Barton 4be9583894 small mathutils changes.
- fix for returning empty slices (was returning list rather then tuple).
- report invalid type when mathutils_array_parse_fast() fails.
2011-02-04 03:39:06 +00:00
Campbell Barton 36786c18d7 PyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils#Coerce_Method_Arguments
2011-02-04 03:06:23 +00:00
Guillermo S. Romero 9d24a17422 SVN maintenance. 2011-02-03 18:57:53 +00:00
Sergey Sharybin b64811b330 - Fixed bug with disappearing curve animation data created in edit
mode for case there was no animation at object before enter editmode
- Fixed memory corruption for case of fcurve groups
- Fixed bug with incorrect re-naming "spline[%d].smth" pathes

TODO:
  - Also update drivers' curves
  - Enable I-key menu and autokeying

  Will do this after consultation with Aligorith, shouldn't harm atm.
2011-02-03 17:03:37 +00:00
Ton Roosendaal 54aa4fa3a2 Bugfix #25912
Render bug in spothalo (weird horizontal line).
Appeared to be precision error... even for doubles,
before doing division a check for FLT_EPSILON works
better than DBL_EPSILON (if there's an alternative).
2011-02-03 16:31:03 +00:00
Janne Karhu 6a23716957 Applying patch #25898 by Shinsuke Irie for rendering total external reflections
* Tracing objects with IOR < 1.0 (like air bubbles under water) wasn't working correctly as a refraction was always assumed to be the first thing that happens for transparent materials.
* This fix is ok, but the fact that the internal renderer is not a physically based one is starting to show, as for example blurred reflections in this case are not really possible nicely without some slightly heavier modifications to the ray code.
* Also some cleaned up logic and better comments for my previous total internal reflection commit.
2011-02-03 15:05:43 +00:00
Joerg Mueller 376e0ae2a3 Audio Bugfixes:
* [#25638] 'Insufficient thread locking' for sounds
  - Actually a workaround for an msvc bug, msvc STL containers are buggy
* [#25922] Sound does not play in BlenderPlayer(r34579)
  - Windows OpenAL doesn't seem to have clear context error state on initialising
2011-02-03 13:25:05 +00:00
Campbell Barton 1e3ec65edc remove unused variable
also clear scene data before running batch import (utility script).
2011-02-03 11:02:02 +00:00
Campbell Barton 07e688125a Makefile for convenience on *nix systems.
Running 'make' starts an out of source build with CMake in ../build/OS_CPU, creating the dir and configuring CMake if necessary.

So casual users can just run this without changing dirs:
 'svn up ; make'
2011-02-03 10:07:15 +00:00
Ton Roosendaal fc0d85ac59 Bugfix #25913
Compositor: using "read sample buffers" after load file, without
render layers in composite, crashed blender (NULL read)
2011-02-02 14:36:00 +00:00
Janne Karhu f79f9115f2 Fix for [#25899] Renderer can't trace successive total internal reflection
* This was wrong since 2006!
* Raytrace code assumed refractions to go "air -> glass -> air -> glass -> air.." so actually only the first total internal reflection was calculated correctly, but everything after that was wrong.
* Now after a total internal reflection there needs to be an actual refraction before the ray escapes the "glass" object.
2011-02-02 12:04:23 +00:00
Daniel Salazar a7af789864 Added Read Render Layers and Read Full Sample Layers to node editor menu 2011-02-02 10:33:29 +00:00
Daniel Salazar 14ef1e2d96 Keymap conflict in node editor. Read Render Layers is now Ctrl R to
leave R for rotate
2011-02-02 10:26:14 +00:00