Commit Graph

1172 Commits

Author SHA1 Message Date
Campbell Barton
276f60536f better reporting for lib linking problems
note that errors are displayed upside down
2010-01-11 12:24:08 +00:00
Campbell Barton
d5f5e0cd75 report errors with library linking errors.
uses a hack to set the window for the popup for the menu, which is nasty but artists need to know when their files should not be resaved :(
2010-01-11 11:59:14 +00:00
Campbell Barton
e62e66fe8a corect error in last commit. 2010-01-08 20:55:13 +00:00
Campbell Barton
1f1245a92a Remap Relative paths save option.
If you have a blend file and want to save in a new directory enabling this will save with the paths corrected relative to the new directory.
2010-01-08 17:50:55 +00:00
Joshua Leung
f3a6474537 Animation Visualisation Cleanups - Part 2:
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones. 
It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that...

* Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper.

* Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet.

----

* F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
2010-01-07 22:54:05 +00:00
Campbell Barton
bce42d6b5e group instance still didnt work in some cases, now tag ID flag when linking as well as appending so its easy to know if an ID is newly added or not. 2010-01-07 16:19:38 +00:00
Campbell Barton
0983aae019 last commit didnt work properly, all groups were added. Tested to work with existing groups, link & append. 2010-01-07 14:59:22 +00:00
Campbell Barton
ba645ad67e option to instance groups when linking or appending. 2010-01-07 14:28:00 +00:00
Matt Ebb
4ba5b70d2f Node editor tweaks
* Cleaned up dead code, removed all traces of socket selection

* Modified border select so it's possible to have border select on mouse tweak.
With this change, by default, click+dragging on a node will select and move it, 
but click+dragging on empty space will border select.
2010-01-06 03:00:19 +00:00
Campbell Barton
cce1d178b8 obscure feature: Display Custom Bone Shape at another bones transform.
Brecht and I took a fair bit of convincing on this one however Cessen was jumping through hoops to do without this feature.
Having the shape being an external mesh deformed by its own armature, which were both hidden but in the same layer *(so the depgraph would update them).
Without this some of the bones in the rig also dont make much sense when animating with.
2010-01-05 11:47:43 +00:00
Joshua Leung
a9861e3381 Durian Request: Drivers Recode
Highlights:
* Support for Multi-Target Variables
This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that.

* New Variable Types
With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones).

* New Driver Types
In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to.

* Fix for Driver F-Curve colouring bug 
Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used.


Notes:
* This commit breaks existing 2.5 files with drivers (in other words, they are lost forever). 
* Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later.
* Version patching for 2.49 files still needs to be put back in place.
2010-01-04 21:15:45 +00:00
Brecht Van Lommel
29f90af19c Fix: curve reset for brushes now gives proper smooth curve as default,
also moved brush curve presets code into curvemapping code.
2010-01-04 17:28:37 +00:00
Campbell Barton
addd07582b check if newlibadr returns a valid pointer when running do-versions on animviz data 2010-01-04 14:22:22 +00:00
Matt Ebb
f02dde5de7 Patch from Raul Fernandez Hernandez - volume render multiple scattering fixes
Also: Changed 'Spread' value to be proportional to the light cache voxel grid 
(i.e. 0.5 spreads half the width of the grid), so that it's independent of light 
cache resolution. This means that results should be similar as you increase/
decrease resolution.
2010-01-03 23:45:13 +00:00
Matt Ebb
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
Campbell Barton
310a84f13e bugfix [#20534] Blender crashes throghout compositing 2010-01-03 02:53:01 +00:00
Joshua Leung
a7d268d38e Cessen Rigging Request: "Copy Transforms" Constraint
This constraint simply copies the transformation matrix of the target, and assigns it to the owner.
2010-01-02 04:14:17 +00:00
Campbell Barton
a2fe0cf5d7 armature ghost stepsize was not initialized, Aligorith: can you check this is correct?
remove other small warnings
2010-01-01 19:10:31 +00:00
Campbell Barton
422335b3a2 fix for crash in recent ghost/do_versions 2010-01-01 14:04:39 +00:00
Joshua Leung
e6f26957ea Cleanup of MotionPaths+Ghosts (AnimViz) - Part 1
This commit sets up some of the groundwork necessary to extend the animation visualisation capabilities, previously only available for bones in PoseMode, to Objects as well. Also, some of the other goals of this refactor is to make future visualisation goodies (i.e. editable paths) more feasible...
(There's really nothing to see here yet. The following log notes are really just for my own reference to keep track of things.)

Currently, the following things have been done:
* New datastructures + settings have been tidied up, ready for usage
* Added these new types into the Object and PoseBone code as necessary, with freeing/adding/copying accounted for
* File IO code for the new data, including version patching to convert the old system to the new one.
* Set up the drawing system for motionpaths based on the old armature path drawing code. Armatures still draw using the old system, since the two systems use different storage systems.
* Started setting up the motionpath 'baking' code, but the core of this still needs to be coded...

Next Steps (after some semi-urgent Durian Driver changes):
* Port the ghosting/onionskinning code over too
* Finish motionpath baking code
* RNA wrapping for the new types
* Hooking up all the new code into the operators, etc.
2010-01-01 12:24:16 +00:00
Dalai Felinto
e37e3845a1 BGE: stereoscopic settings changes: (1) eye separation is the UI (2) focallength uses camera focallength
Now the default eye separation value is 0.10 (reasonable for games with 1 meter == 1 B.U.
The focallength used is the camera focal length (DOF settings). It allow you to even use different focal lengths for different scenes (good for UI)

In order to change it you can change the camera focal length or use Rasterizer.setFocalLength.
If you use the Rasterizer method it will use this value for all the cameras.

ToDo:
- Blenderplayer settings
- Update wiki documentation (any volunteer)?

* Note to stereo fans:
I don't have a real stereo environment to test it (other than cheap cyan-red glasses). If you can give it a try in a more robust system and report bugs or problems with BGE current system please let me know. I would be glad to help to make it work 100% by the time Blender 2.5 is out.

For the record, BGE is using the method known as 'parallel axis asymmetric frustum perspective projection'. This method is well documented here:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/stereographics/stereorender/
2009-12-29 15:47:20 +00:00
Joerg Mueller
a2b0020e11 Reverted the addition of the f-curve sound modifier (was added in revision 24759) due to unusability and performance issues. The ability to use a sound as animation source will be added as an import operator later that renders a sound to an f-curve which brings the advantage that you can edit the generated curve later and the disadvantage it is not automatically updated when the sound changes. 2009-12-24 14:01:22 +00:00
Brecht Van Lommel
1d957e4fb7 Fix #20442: opening .blend file with hanging temp screens could crash,
version patch removed these screens, but not the corresponding windows.
2009-12-21 10:46:14 +00:00
Martin Poirier
9711c16fde Fix do_version for new preview region (for real this time).
First spacedata has empty region base and uses the one in ScrArea. Need to account for that.
2009-12-20 15:23:29 +00:00
Martin Poirier
be323efa35 Fix preview do_version bug (causing region type missing errors)
The missing region was added to the wrong region base.

Bump the subversion, new code to fix wrong region layouts saved in previous subversion and correct all old files correctly.
2009-12-19 22:40:45 +00:00
Campbell Barton
50544ea645 - sequence strips without scenes would crash on display
- appending scenes would not append the sound and scene ID's for sequence strips
- reload button in sequence header now reloads sounds as well.
- redrawing the sequence image view didnt work while plaing (unless play was activated from that region)
- generic functions for running a callback on sequence strips recursively. seqbase_recursive_apply() and seq_recursive_apply()
- bind marker with camera was set to home key, use Ctrl+B instead.
2009-12-18 13:28:03 +00:00
Brecht Van Lommel
955f7c9288 Fix #20423: particle system deflection settings were not read correctly,
causing crashes on free and duplication.
2009-12-18 13:08:11 +00:00
Brecht Van Lommel
68ff5a87ec Fix #20374: Limit selection to visible would not work anymore after trying to
select once but not selecting correctly, due the need backbuffer flag not being
reset correctly in the 3d view.
2009-12-17 14:38:30 +00:00
Campbell Barton
88d72e796a remove warnings. Sequencer selection for fcurve view didnt work in metastrips.
- added RNA_property_string_set to the RNA_access.h
- include BKE_animsys.h in pipeline.c for sequencer update, hope these are ok.
2009-12-17 11:16:28 +00:00
Campbell Barton
c3401eb5cb camera switching via markers
Currently access by selecting a marking and binding with the active camera from the view menu.

Note:
after long discussion we decieded there is no nice way to do this.. animate pointers? animate multiple camera visibility?, use sequencer? use NLA?.... have a kind of event system (like framechange scriptlinks)... etc
so this is ifdef'd with DURIAN_CAMERA_SWITCH
2009-12-16 19:49:33 +00:00
Andrea Weikert
03e1afe7ac Sequencer:
* fix crash due to missing preview region
* had to bump up subversion to catch all files saved without preview region in sequencer.
2009-12-14 22:59:41 +00:00
Andrea Weikert
18cc2b76c2 Sequencer drawing cleanup (Part 1)
Separated preview drawing into own ARegion, this should make using View2D possible
The Sequencer now has three view types: Sequencer, Preview and split Sequencer/Preview.

Changing the preview can be done either by the combobox in the header or toggling through those types with CTRL+TAB.

Notes:
* Icon for split Sequencer/Preview view missing still. 
* Naming items in the comboboxes can be improved (just Preview instead of Image Preview?)

Next steps:
* bringing back View2D handling (zoom/pan) for image preview
* experimenting with splitting the Preview ARegion for In/Out editing
2009-12-14 21:42:25 +00:00
Brecht Van Lommel
163d8111be Fix crash loading old files with physics systems without effector weights. 2009-12-14 19:17:27 +00:00
Brecht Van Lommel
9a7f6e937b Fix #20345: weight paint crashes with armature modifier without object.
Also fixes:
* Weight paint subsurf drawing.
* Missing pointer endian conversion in paint brushes.
* Use of unitialized variable in screen version patch.
* Multires modifier without mdisps layer crash.
2009-12-14 17:08:02 +00:00
Campbell Barton
abe8c09b8a * renamed BKE_sequence.h and sequence.c --> sequencer
* renamed util.c --> path_util.c since there are more then 1 of these files which makes setting breakpoints annoying.
2009-12-13 14:56:45 +00:00
Brecht Van Lommel
3a9dcf1fea Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25245:25315
2009-12-11 14:38:02 +00:00
Brecht Van Lommel
89b6d94e38 Sculpt Branch: multires conversion from 2.4 working again. 2009-12-11 10:56:20 +00:00
Matt Ebb
98dff9b1c7 For for [#20330] Can't open a file made in 2.49
Hair clothsim internal_friction wasn't being initialised correctly.
2009-12-11 00:09:58 +00:00
Brecht Van Lommel
e7bd63c128 Sculpt Branch:
* Multires 2.50 -> Branch compatibility code converting to the new
  displacement format. 2.49 -> 2.50 is not functional yet.
2009-12-10 17:37:04 +00:00
Brecht Van Lommel
acadb8c39f Sculpt Branch:
Revised external multires file saving. Now it is more manual in that you
have to specify where to save it, like an image file, but still saved at
the same time as the .blend. It would ideally be automatic, but this is
difficult to implement, so for now this should at least be more reliable.
2009-12-10 14:26:06 +00:00
Matt Ebb
a4e4d0f658 Fix for [#20140] Double Properties Panel on 3dview from 2.4x fles 2009-12-10 02:43:55 +00:00
Brecht Van Lommel
6639ba6b86 Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25180:25245
2009-12-09 15:24:55 +00:00
Brecht Van Lommel
f2452c1fd6 Sequencer:
* Sound strips now respect metastrips for muting. That means they
  are muted if the metastrip is muted, and don't play when located
  outside of the current metastrip.
* Operators now use notifiers instead of redraw tagging, added a
  separate notifier for selection as well, but that is not used to
  do less redraws yet.
2009-12-08 13:57:51 +00:00
Campbell Barton
0391b1ab78 compile python driver expressions for faster re-evaluation.
approx 15-25x speedup
2009-12-08 10:36:46 +00:00
Matt Ebb
3a954970f7 Remove 'temp' screens hanging around in files from older 2.5 versions 2009-12-07 22:29:35 +00:00
Brecht Van Lommel
82ddfbf99f Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24889:25180
2009-12-07 19:22:48 +00:00
Brecht Van Lommel
4a23c3f9e1 Particles: child editing bugfixes
* Make partial update work again for faster editing.
* Draw parents over children again, nicer for editing.
* Fix crash with remove tools & showing child particles.
* Fix children not disappearing always when setting to None.
* Fix wrong normal for last point in child path.
* Fix a python error in the hair dynamics panel.
2009-12-07 17:55:58 +00:00
Joshua Leung
b440fe1611 Fix for one of the issues in #20230: Comp Nodes animations not saving to .blend
AnimData was not getting written to files for Node Trees.
2009-12-03 10:23:38 +00:00
Matt Ebb
ae91675312 Fix for [#20154] Shaded draw mode needs to be removed when loading files 2009-12-02 23:14:58 +00:00
Matt Ebb
b89138564e Changes to Color Management
After testing and feedback, I've decided to slightly modify the way color 
management works internally. While the previous method worked well for 
rendering, was a smaller transition and had some advantages over this
new method, it was a bit more ambiguous, and was making things difficult 
for other areas such as compositing.

This implementation now considers all color data (with only a couple of 
exceptions such as brush colors) to be stored in linear RGB color space, 
rather than sRGB as previously. This brings it in line with Nuke, which also 
operates this way, quite successfully. Color swatches, pickers, color ramp 
display are now gamma corrected to display gamma so you can see what 
you're doing, but the numbers themselves are considered linear. This 
makes understanding blending modes more clear (a 0.5 value on overlay 
will not change the result now) as well as making color swatches act more 
predictably in the compositor, however bringing over color values from 
applications like photoshop or gimp, that operate in a gamma space, 
will give identical results.

This commit will convert over existing files saved by earlier 2.5 versions to 
work generally the same, though there may be some slight differences with 
things like textures. Now that we're set on changing other areas of shading, 
this won't be too disruptive overall.

I've made a diagram explaining the pipeline here:
http://mke3.net/blender/devel/2.5/25_linear_workflow_pipeline.png

and some docs here:
http://www.blender.org/development/release-logs/blender-250/color-management/
2009-12-02 07:56:34 +00:00