Commit Graph

6615 Commits

Author SHA1 Message Date
460db666d3 Another multires triangle fix 2006-12-05 23:36:05 +00:00
406cc2cce0 Fixed broken triangle handling in multires. 2006-12-05 23:25:45 +00:00
1b5e0e3def Updated the vertex color and mtface handling in multires.c to work with editmesh.
This is the last of the changes needed to support all the EditMesh data that
previously worked only with the regular Mesh, so this should fix bug #5331,
Various problems with Editmode Undo and Multi-Resolution Meshes.
2006-12-05 23:01:01 +00:00
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
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
084179bb39 Bugfix, irc report:
OSA 16 crashed. Wrong sizeof() for memset...
2006-12-05 18:58:58 +00:00
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
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
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
869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +00:00
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
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
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
0f7f11fafc Removed a few unused variables - compiler warnings. 2006-12-05 02:06:51 +00:00
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
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
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
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
76d96a0885 Hotkeys for changing sculptmode properties should redraw the view3d to update the floating panel. 2006-12-04 21:10:15 +00:00
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
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
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
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
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
2bf573dd23 Added numpad hotkeys for sculptmode 2006-12-04 01:04:02 +00:00
706635d931 Forgot to add middlemouse events for sculptmode. 2006-12-04 00:44:52 +00:00
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
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
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
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
13d466fe77 Previous multires+editmode commits broke multires+sculptmode (oops.) 2006-12-03 20:24:55 +00:00
b4f536c5e5 Modified multires to use CustomData for deformedverts. Deformedverts now load properly from editmesh. 2006-12-03 19:59:18 +00:00
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
2d87c36efa Copy vcols wasnt working me->mcol[a] needs to be me->mcol[a*4] 2006-12-03 19:38:32 +00:00
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
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
953cd28b67 Klocwork pointer sanity checks in transform. 2006-12-03 18:30:34 +00:00
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
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
8b65afe877 Added define for atanf to get VC7.1 linking again. 2006-12-02 09:11:32 +00:00
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
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
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
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
bcb3aec646 Added stub for multires_copy 2006-12-01 23:06:07 +00:00
451cb25e4e Added warning in the multires panel to alert user if they have a modifier that changes mesh topology enabled, the render level will not have any effect. 2006-12-01 22:44:27 +00:00
662ce4a368 Small interface update for multires; adding a new level should increment the render level as well, unless the render level has been set to something other than the max level. Also removed some unneeded code. 2006-12-01 22:05:40 +00:00
b4b6dd2654 Simplified/fixed code for rendering with multires+modifiers, no more unfree memory warnings 2006-12-01 21:35:27 +00:00
Ken Hughes
e906417a3a Python API
==========

Bugfix: using del operator on me.verts would cause a crash.
2006-12-01 21:20:40 +00:00