Commit Graph

7131 Commits

Author SHA1 Message Date
Ton Roosendaal 09d3d15f45 Node editor: when adding a new node, automatic links are created:
- from all selected nodes
- only connections between highest order socket types; so if there's RGBA
  and Value sockets, only RGBA sockets are connected. This because in
  these cases the Value sockets usually are for user input.
  Example: Mix node.

Thanks Trip for the hint!
2006-12-05 21:33:56 +00:00
Ton Roosendaal 5e52bee5a7 Node shaders bug: using 'shadeless' material inside of node tree, a mode
flag messed up that tried to detect if shadow was needed.
2006-12-05 19:47:45 +00:00
Ton Roosendaal 084179bb39 Bugfix, irc report:
OSA 16 crashed. Wrong sizeof() for memset...
2006-12-05 18:58:58 +00:00
Ton Roosendaal 78d3f7358b Two more fixes for pass composite:
- Blur nodes didn't accept RGB buffers (only RGBA or single channel ones)
- Mix node had maximum for 'mix' on 1.0, for passes edit that could become
  more, made it 5!
2006-12-05 18:27:43 +00:00
Ton Roosendaal 2c816da097 Two fixes:
- Shaded view was black, needed to tell it to use 'combined' pass :)
- Crash when deleting in compositor all nodes with an output.
2006-12-05 18:02:43 +00:00
Ben Batt 4f8079d49c Modifier Stack: Limit calculation to required data.
This commit upgrades the modifier stack to only calculate the data which is
needed, either by modifiers further down the stack or by other functions at
the end of the stack (e.g. drawing functions).

This speeds up modifier stack recalculation, especially where vertex
groups and UV coordinates are concerned. For example, a mesh with an Armature
modifier followed by a Subsurf modifier would previously have required the
Subsurf modifier to interpolate all the vertex groups in the mesh, slowing
down modifier calculations considerably. With this update, vertex group data
is not propagated beyond the Armature modifier, so calculations are faster.

Note that this depends on the order of modifiers in the stack. If the Armature
and Subsurf modifiers were swapped in the above example, the Subsurf modifier
would have to interpolate vertex groups, as they are needed by the Armature
modifier.
2006-12-05 17:42:03 +00:00
Ton Roosendaal 869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +00:00
Ton Roosendaal 3177c4f69f Next stage of RenderPipe refactor: now everything within the pixel was
tackled.

Resulting features:
- render passes
- new pass: Object Index, for masking
- sub-sample alpha masks

Docs:
http://mediawiki.blender.org/index.php/BlenderDev/RenderPipeline
http://www.blender3d.org/cms/Render_Passes.829.0.html
http://www.blender3d.org/cms/New_Render_features.774.0.html

Note that these changes might mean things to not render fully identical...
For the next days a lot of testing is needed!
2006-12-05 16:43:01 +00:00
Joshua Leung 246ab11255 Some more action editor goodies:
* Now it is possible to invert the selection status of keyframes and markers.
These options can only be found in the Select menu in the header.

* It is also possible to select the keyframes that occur within the 2
'extreme' selected markers. Hotkey for this is Ctrl K
2006-12-05 05:25:34 +00:00
Joshua Leung 201df23d54 == Action Editor - Column Select Tools ==
Now it is possible to column select keyframes that occur on the
same frame as selected markers with the hotkey: SHIFT K

More selection goodies to come :-)
2006-12-05 03:48:39 +00:00
Joshua Leung 0f7f11fafc Removed a few unused variables - compiler warnings. 2006-12-05 02:06:51 +00:00
Joshua Leung d68d2528ac == Action Editor ==
Cleaned-up drawing code of keyframes. Code redundancy has been
reduced, and there should be slight performance gains (less looping,
no sorting of keys needed, possibly less memory usage).
2006-12-05 01:11:51 +00:00
Joshua Leung 9b8258dabc Resolved a few compiler warnings:
* Line 2451: unusued variable 'removed'
* Line 3513: implicit declaration of function freeN. should be MEM_freeN

Hopefully I didn't break anything.
2006-12-04 23:27:53 +00:00
Joshua Leung 6faf0ac816 * Auto-Keyframing Option: 'Needed'
Now, when auto-keyframing, there is the option to have 'cleaner'
ipo curves. This is a user-pref option, and is based on the same
code responsible for the 'Only Needed' keyframing mode.


* Bugfix for Nicholas Bishop's recent sculptmode hotkeys:
When entering text in a text object, hotkeys were not disabled,
eg. type n = floating panel appears press 2 = layer 2 becomes visable.
Was 'if' instead of 'else if'

Reported by mfoxdogg on cvs.
2006-12-04 23:16:55 +00:00
Nicholas Bishop 0bc62f2742 A few more sculptmode hotkeys. NKey for the floating properties panel (also added menu item for that), pageup/pagedown for changing multires level, and alt+HKey for unhiding hidden areas of the sculptmesh. 2006-12-04 21:28:05 +00:00
Nicholas Bishop 76d96a0885 Hotkeys for changing sculptmode properties should redraw the view3d to update the floating panel. 2006-12-04 21:10:15 +00:00
Peter Schlaile 0bb1256bf5 == Sequencer ==
Fixed an off by one error in Speed Controller.
If no IPO is present, enlarging the strip will now "stretch" time.
Shrinking doesn't work right now because of stripdata-handling...
2006-12-04 20:00:17 +00:00
Nathan Letwory d6e9265895 ==SCons==
* make blender_python understand we're doing a debug build when BF_DEBUG=1. Otherwise
 we get linking errors with scons/mingw
2006-12-04 14:32:07 +00:00
Nicholas Bishop 0cc76d831c Large change to the way sculptmode drawing works. The default is now to draw
using the standard drawing functions. Enabling the "Partial Redraw" item in the
sculpt menu will turn on the optimizations which stores unmodified parts of the
color buffer and only redraws the polygons that are within the modified area(s).

The Partial Redraw option uses the accumulation buffer to store the copy, and
unfortunately this is not accelerated on older cards. There are alternatives,
e.g. drawing to an auxiliary buffer or downloading the data from the graphics
card with glReadPixels, but there's no guarantee that these will run at an
acceptable speed on older graphics cards either. For the cards that do
accelerate the accumulation buffer (for nvidia cards, I would assume that is at
least FX5200 and up, and maybe earlier) it provides a very significant speedup.
2006-12-04 05:36:50 +00:00
Joseph Eagar c520a2a6b2 =IDProperties Small Update=
BPy conventions were not being followed for PyObject_New;
now they are.  I still doubt the usefullness of doing this,
however its important to maintain module standards.  

Which reminds me, anyone know where I can get that source code
prettier that was used on the api files?  It was kindof
hard following the coding style of bpy with it being so
different from normal blender, and also what with having
to write the IDProperty code from scratch. :)
2006-12-04 04:51:32 +00:00
Erwin Coumans f22ee3f86f added some 'angularFactor' for character control (to avoid rotation) 2006-12-04 04:31:34 +00:00
Erwin Coumans 2ec5d00da9 fixed some motionstate synchronization issues
nearsensor was not synchronized at the start
wheels not synchronized properly (one frame delay)
2006-12-04 04:13:42 +00:00
Nicholas Bishop fc691cdb5e Fix for bug #5345, sculpt tool doesn't seems to use correctly the undo setting on the global preferences 2006-12-04 03:26:30 +00:00
Nicholas Bishop c181c8986f Fix for bug #5351, sculpt doesn't work in xray mode
Moved depth update for sculptmode to after the point where xray/transp objects are drawn
2006-12-04 02:36:04 +00:00
Nicholas Bishop 2bf573dd23 Added numpad hotkeys for sculptmode 2006-12-04 01:04:02 +00:00
Nicholas Bishop 706635d931 Forgot to add middlemouse events for sculptmode. 2006-12-04 00:44:52 +00:00
Nicholas Bishop 9f4df07b68 First pass at setting up better hotkeys for sculptmode.
http://projects.blender.org/pipermail/bf-committers/2006-November/016311.html
As recommended on bf-committers, I created an entirely separate section for
sculptmode hotkeys, so none of the standard hotkeys in space.c carry over.
(However, the standard hotkeys in toets.c are left unchanged.)

There are probably some useful hotkeys that have been disabled with this commit,
and other hotkeys that still need to be added, so this needs review.
2006-12-04 00:11:25 +00:00
Nicholas Bishop 043f3c008c Added a bunch of sculpt options to the Sculpt menu; also removed the PvRot toggle button from the sculpt panel, where it didn't really fit, and put it in the menu instead. 2006-12-03 22:57:28 +00:00
Nicholas Bishop 4300af777c Added saving/loading of multires deformedvert data. Also added a test_index_face check when reading editmode data for multires. 2006-12-03 22:15:50 +00:00
Nicholas Bishop dde6444d51 Sculptmode should check for existance of undo data before undo/redo in case user loads a file with sculptmode on and presses undo/redo before doing a sculpt action. 2006-12-03 20:35:35 +00:00
JLuc Peuriere d7aaa84dd9 Fix for getting gcc compile GE with Py 2.5
PYobject type has changed

Usual C++ pickyness about implicit casts

debug made with erwin. thanks

Note to python mainteners :

even if it compiles there is a *Huge* list of warnings about deprecated
and incompatible pointers in api2.2. this should be corrected
2006-12-03 20:27:59 +00:00
Nicholas Bishop 13d466fe77 Previous multires+editmode commits broke multires+sculptmode (oops.) 2006-12-03 20:24:55 +00:00
Nicholas Bishop b4f536c5e5 Modified multires to use CustomData for deformedverts. Deformedverts now load properly from editmesh. 2006-12-03 19:59:18 +00:00
Martin Poirier f72a56bdfc === Transform ===
Modified version of patch #5281 by Joshua Leung.

It's a two part patch:

	Add a Roll button in the transform properties floating panel with bones selected in edit mode

	Add a Roll transform (Ctrl-R) that can be used to modify the roll of selected bones in edit mode

The transformation modifies the roll of all selected bones incrementally (like a rotation does to the bones' rotation) [that is the part that differs from the patch. The patch would set the same roll value to all bones]


Also, this commit includes some shuffling around of the functions, to keep the previously logical order. :)
2006-12-03 19:54:27 +00:00
Campbell Barton 2d87c36efa Copy vcols wasnt working me->mcol[a] needs to be me->mcol[a*4] 2006-12-03 19:38:32 +00:00
Martin Poirier cbd84b26f4 === Interface ===
Based on patch #5140 by Juho Vepsäläinen, this commit removes the requirement to type # at the start when you want to use Python expression evaluation when typing a value in a button.

In a nutshell, that means you can now type 3 + 5 in a numbut and see it change to 8.

Word of warning: The normal Python operator logic applies, so if you type in 1 / 3, you'll get 0 and not 0.333. There's no going around that.
2006-12-03 18:59:13 +00:00
Martin Poirier 4a2eceff20 === [ #5094 ] TrackTo Constraint with an animatable "up" direction ===
Patch by Matthew Plough: This adds an option to the Track To constraint to use the target's Z axis for Up axis reference instead of the global Z axis.

Off by default for backward compat.
2006-12-03 18:38:51 +00:00
Martin Poirier 953cd28b67 Klocwork pointer sanity checks in transform. 2006-12-03 18:30:34 +00:00
Erwin Coumans 869a9e4881 more work on Bullet 2.x 2006-12-03 01:16:17 +00:00
Erwin Coumans 1f4ac018ff different Bullet/graphics synchronization 2006-12-03 00:36:51 +00:00
Nicholas Bishop 472c3677fb Better integration of multires with editmode. Setting/adding levels no longer exits editmode, and undo should now work as expected. Still to come is loading customdata from the editmesh. 2006-12-02 23:37:52 +00:00
Erwin Coumans 76616f2a3b gameengine: reverted some timing experiment 2006-12-02 23:27:23 +00:00
Erwin Coumans 438d114f1a - GEadded VSYNC for Mac OS X swapbuffers (can be easily undone by commenting out the #define WAIT_FOR_VSYNC 1
- GEdon't crash when attempting to add constraint on game objects without physics controller
- GEimproved some physics -> graphics synchronization issues
- small experiment with game engine timing to smooth framerate/reduce tearing
2006-12-02 22:25:47 +00:00
Jens Ole Wund(bjornmose) 08ef0d3466 Klocwork warning fix
Doing NULL pointer paranoia check in time.
It's completely pointless calling the function with null pointer,
but who knows.
At least it does not crash then.
2006-12-02 18:42:20 +00:00
Simon Clitherow 8b65afe877 Added define for atanf to get VC7.1 linking again. 2006-12-02 09:11:32 +00:00
Nicholas Bishop 539130346f Removed exit/enter editmode from multires_make; this is step 1 of the fix for bug #5331 2006-12-02 09:04:12 +00:00
Nicholas Bishop 4823cac212 Fix for bug #5319, multiresolution mesh - inconsistent hide behavior
Multires operations now pay attention to vertex flags, so both selection and
hiding are propagated up and down the levels.

Note: only the lowest level of detail for vertex flags is retained when
switching levels. E.g., after selecting vertices at the highest level, then
switching to the lowest level, then back to the highest level, the vertex
selection will have changed. (This is a potentially fixable issue.)
2006-12-02 07:58:53 +00:00
Joshua Leung ac43fe5afd == Action Editor ==
Now it is possible to mirror selected keyframes in the action editor;
either over the current frame or the vertical axis.

Hotkey is: SHIFT M       (like in ipo editor).
2006-12-02 06:00:31 +00:00
Erwin Coumans 28bbf2d616 - added support for generic 6DOF constraint
- only 6DOF constraint shows buttons for limits
- added python support for rigidbody constraint (untested, but required for COLLADA Physics support)
2006-12-02 03:48:36 +00:00
Nicholas Bishop bcb3aec646 Added stub for multires_copy 2006-12-01 23:06:07 +00:00