Commit Graph

685 Commits

Author SHA1 Message Date
39c0f6dd83 === Transform Snap ===
The circle drawn around the snap point is now truely constant regardless of zoom and size of the window. That size if linearly proportional to the vertex size (bigger vertex -> bigger circle).
2006-12-21 20:45:57 +00:00
47bc3d1208 Added names to UV and vertex color layers, and display them as a list.
Added support for multiple UVs in the render engine. This also involved
changing the way faces are stored, to allow data to be added optionally
per 256 faces, same as the existing system for vertices.

A UV layer can be specified in the Map Input panel and the Geometry node
by name. Leaving this field blank will default to the active UV layer.

Also added sharing of face selection and hiding between UV layers, and at
the same time improved syncing with editmode selection and hiding.

Still to do:
- Multi UV support for fastshade.
- Multires and NMesh preservation of multiple UV sets.
2006-12-21 13:47:27 +00:00
88ef092876 === Transform Snap ===
(Implementing Matt's idea)

Grid and Snap are now exclusively controlled by the Control key (pun intented).

You can switch to Snap by selecting the snap option in the Transform menu (this option is only available in edit mode on a mesh. this option is per 3D view) (NOTE: There is currently no hotkey for that, anyone should feel free to add one).

When Snap is selected, holding down Ctrl during translations (grab) snaps to vertex.

All other situations which have no snapping code yet defaults to Grid.
2006-12-20 19:47:12 +00:00
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
f4a03182fb === Transform Snap ===
Draw a circle around the snapping point for visual aid.

Different snapping target method, switchable in the 3d view header menu in the Transform menu.

* Closest: Snaps the closest vertex to the point
* Median: Snaps the median of the selection to the point
* Center: Snaps the transform center to the point (this is different from median because you can use Cursor/Boundbox as center)

Fix a bug with constraints/snap handling.
2006-12-19 22:25:07 +00:00
468208aee3 == Action Editor - Column Select Tools ==
* 'On Selected Markers' and 'Between Selected Markers' now get a
correction for NLA action scaling .

* Bugfix for 'Between Selected Markers': now keyframes that occur
on and between the selected markers get selected.

* Bugfix for 'On Selected Markers': now it only considers selected
markers (it used to consider all markers)
2006-12-19 09:21:41 +00:00
59b30d178a === Transform Snap ===
Work in Progress: this adds vertex snapping capabilities to translations.

As before, use the menu or the hotkey (` during transform) to turn on snapping.

Currently, snapping is restricted to translation and only snap to verts. Also, it will snap the nearest moving vert to the snapping vert.

This also has a timeout period and refreshes the snapping point only every 0.25 seconds (assuming the timer is precise enough to do that) to mitigate the slowdown due to repeated calls to findnearestvert. Eventually, a faster method will have to be used.

Also, this uncovered a bug in findnearestvert which can manifest itself as jumps and lags in snapping. People are looking into it.

Still, with all those disclaimers, get the suggestions/critics pouring in.
2006-12-18 23:48:32 +00:00
019b13b830 Added support for undoing multires actions in sculptmode. 2006-12-18 08:39:11 +00:00
abda078196 == NLA Editor ==
Todo Tracker Item: #4754

Now the 'Convert Action to NLA Strip' command (CKEY) is able to
be found in the NLA editor's header in the Strip Menu. It now tries
to add a convert the active action of the active object (so it is no
longer dependant on mouse location).
2006-12-18 05:15:17 +00:00
d1c9de7cd6 == Action Editor ==
When the current action is the active strip in the nla editor and that strip
is scaled, snapping keys to the current frame didn't work correct. Now,
I've added a correction for snapping and mirroring keyframes in action
editor for such cases.
2006-12-18 00:21:47 +00:00
ca90938826 == Long Keyframes ==
Bugfix for an error reported by Bassam/slikdigit.
Sometimes, long keyframes could still get created where they aren't
supposed to be (only occuring in a few ipo-curves).
2006-12-16 00:07:14 +00:00
c43b064895 == Action Editor - 'Long' Keyframes ==
When animating, it is often useful to be able to visually see where the
'pauses' are between keyframes. Long keyframes do this - linking two
keyframes in the same channel together.

Long keyframes are only drawn when the two keyframes have the exact
same values. This has to happen for every ipo-curve represented by the
keyframes shown for a long keyframe to be drawn.

I've added two new theme colours for the action editor. They are for
the selected and deselected colours of the long keyframes (currently
defaulted to be the same as the NLA strip selection colours).
2006-12-15 05:51:53 +00:00
487b147235 Fixed bug #5402, retopo paint lines don't follow zoom level of 3d viewport. Retopo paint is now specific to one view (the first view you click in after activating retopo paint.) 2006-12-13 00:54:16 +00:00
80ee52e444 Multiple UV and vertex color layers: (still work in progress)
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.

Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers

Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
2006-12-12 21:29:09 +00:00
97b6a65c74 Added a new Python slot "UvCalculate", moved Archimap and "UVs from adjacent" into it.
Removed 1/2 1/4 1/8 uv mapping options.
made re-evaluating the py-scripts dir use the wait cursor (could take a while at times)
2006-12-12 04:18:45 +00:00
c41e0e205f A little bit of code cleanup:
* Moved BEZSELECTED macro to blendef.h as it is used in several files
* Removed other duplicated macros
2006-12-11 03:47:15 +00:00
c9b23feaf5 Bugfix: (2nd part of bug #5393)
Action Channel 'protecting' now works for the NLA editor. Action
channels in the active action that are 'protected' cannot get
transformed, duplicated, or deleted in the NLA editor.
2006-12-10 05:52:51 +00:00
7f1e3874f9 Node editing usablity!
- Removed stupid idea to insert convertor nodes in Node Shaders, when a
  link is created by non-matching sockets. Now it works like Compositor,
  doing a default conversion. Works like this:

1 from 3 or 4 values: take average
3 from 1: copy to all
3 from 4: copy 3
4 from 1: copy to 3, set alpha to 1
4 from 3: copy 3, set alpha to 1

- Added select-linked in Nodes. Lkey or Shift+L. Also in pulldown menus
2006-12-08 21:20:36 +00:00
3da771fefc Fix for bug #5369, retopology - undo reverts elipse to pen
Moved the retopo tool settings into ToolSettings.
2006-12-08 00:44:44 +00:00
17231f83f3 Work on RenderLayer and Pass control:
Full log:
http://www.blender3d.org/cms/Render_Passes.829.0.html

In short:
- Passes now have option to be excluded from "Combined".
- RenderLayers allow to override Light (Lamp groups) or Material.
- RenderLayers and Passes are in Outliner now, (ab)using Matt's nice
  'restriction collumns'. :)
2006-12-07 14:17:38 +00:00
c0becb4532 Removed SlowerDraw and FasterDraw buttons in Mesh panel after discussion
with Ton on IRC. This feature was old, something of a hack and didn't really
work well with the modifier stack. To paraphrase Ton: We want to make blender
higher quality, so poorly thought out code should be removed, or replaced
with decent implementations.
2006-12-06 12:34:26 +00:00
6c138fc6a9 == Action Editor ==
Now it is possible to 'protect' action channels and constraint channels.
* When a channel is 'protected', the only operation possible on keyframes
is selection. All other operations are not able to be performed.
* The padlock to the right of each channel's name toggles the protection
status of that channel. You can only alter the protection status of one
channel at a time.

Todos:
* Menus still pop up when trying to do stuff to keyframes even if
all the keyframes selected are from protected channels.
* Shapekey channels shown in action editor should also get locks
2006-12-06 02:37:32 +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
869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +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
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
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
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
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
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
ef389028b9 Added a copy function for multires; duplicating a mesh with multires now works properly. 2006-12-01 18:41:25 +00:00
b36b940807 Changed sculptmode drawing to pay better attention to materials.
This fixes bug #5274, changing from uvmode to sculpt changes lighting model
2006-12-01 01:40:53 +00:00
4f83caab94 I've made the hotkeys for marker editing more consistant now.
Check the menu headers for the correct set of hotkeys to use.
2006-11-30 05:29:05 +00:00
5656d68aa3 Removed the other ugly global used in action editor. Now the
ACTWIDTH is a macro that tries to get actwidth from the active
SpaceAction (G.saction->actwidth). This should solve any potential
problems with having two action editors open editing shapekey
actions.

Also, I've fixed a compiler warning caused by erwin's constraint
commit. Wrong ui call for button.
2006-11-30 02:47:28 +00:00
d310f203da Big Commit.
Now time-markers work in all time-related spaces (i.e. Ipo,
Action Editor, NLA editor, TimeLine, Sound). The hotkeys and
functionality set should be the same for each of these modes
(with a few exceptions still). I've had to change a few hotkeys
here and there, so hopefully they aren't too bad.

Marker Operations:
MKEY - Add Marker
SHIFT MKEY - Rename marker (was CTRL MKEY)
XKEY - Delete Marker
PAGE UP - Jump to next marker
PAGE DOWN - Jump to previous marker
CTRL A - Select all markers
SHIFT G - Transform markers (NLA, IPO, Action)
G - Transform markers (Sound, Timeline)
CTRL SHIFT D - Duplicate markers (NLA, IPO, Action)
SHIFT D - Duplicate markers (Sound, Timeline)
BKEY - select markers and other keyframes (if any)

I've also made a few little tool additions to NLA and Action editors:
* NLA editor - Snap To Frame.
Now with the option to offset strip so that it starts at the current frame.
Added menus for this.
* Action editor - Snap To Frame
A few new menus for this too
2006-11-30 01:57:14 +00:00
2572b9f72c Reserved some Bullet 2.x constraint data.
Although we will delay the main Rigid Body user interface after 2.43 release early 2007, I need some constraint data/UI to make progress with COLLADA Physics.
Added RigidBody constraint UI
LR_ALTKEY+LR_CTRLKEY+LR_SHIFTKEY+ P will bake rigidbody
Contribution by RCRuiz, Ramon Carlos.
2006-11-30 00:19:27 +00:00
eb03a578a3 New feature: Face Duplicators. Like vertex-duplicator, but now on a face
center, rotated according to face edges, and optionally with scale of the
face.

http://www.blender3d.org/cms/Face_Duplicator.828.0.html

Also: bugfix in undo/redo for relinking data to the UI. It was not checking
for Library data, accidentally linking non-library data with same names.
2006-11-29 08:57:32 +00:00
9afa4619ed Disable mipmapping in texture paint mode, so fast redrawing will now
work by default for power-of-two textures.

Improved texture painting across different images a bit.
2006-11-26 23:14:52 +00:00
8106c0e721 Bone Layer feature: now also Armature layers have a hotkey menu; Shift+m.
Note that these menus again react to hotkeys, so making layer 4 visible
then is Shift+m, 4.
2006-11-24 18:58:59 +00:00
ba32e1e2fa Changed the sculptmode undo system slightly to make it easier to improve/extend. Should be helpful in integrating multires into the undo system better. 2006-11-21 04:03:39 +00:00
33f79ebd89 Vertex/Weight Paint now uses the regular global Undo.
Also cleaned up bad global variable stuff in vpaint.c, now only need a
good place to store the paint settings in file still...
2006-11-20 12:08:06 +00:00
5428f2eb6c * Object level restrictions in outliner
This adds the ability to restrict an individual object from:
- being visible in the 3D View
- being selectable in the 3D View
- being renderable
with 3 columns of buttons in the outliner.

These restrictions are further down the hierarchy than layers, so for example if an object is in an invisible layer, it will be invisible regardless of whether the object's own visibility setting is on or off. This works on a different conceptual level than layers, being better for more quick interaction (like temporarily making a mesh unselectable while you're posing its armature), rather than so much for scene organisation.

The 3 columns of icons can be turned off in the Outliner View menu.

Along with this is some small cleaning up in interface_icons.c and outliner.c.
2006-11-20 05:12:58 +00:00
e435fbc3c5 Added custom vertex/edge/face data for meshes:
All data layers, including MVert/MEdge/MFace, are now managed as custom
data layers. The pointers like Mesh.mvert, Mesh.dvert or Mesh.mcol are
still used of course, but allocating, copying or freeing these arrays
should be done through the CustomData API.

Work in progress documentation on this is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData


Replaced TFace by MTFace:

This is the same struct, except that it does not contain color, that now
always stays separated in MCol. This was not a good design decision to
begin with, and it is needed for adding multiple color layers later. Note
that this does mean older Blender versions will not be able to read UV
coordinates from the next release, due to an SDNA limitation.


Removed DispListMesh:

This now fully replaced by DerivedMesh. To provide access to arrays of
vertices, edges and faces, like DispListMesh does. The semantics of the
DerivedMesh.getVertArray() and similar functions were changed to return
a pointer to an array if one exists, or otherwise allocate a temporary
one. On releasing the DerivedMesh, this temporary array will be removed
automatically.


Removed ssDM and meshDM DerivedMesh backends:

The ssDM backend was for DispListMesh, so that became obsolete automatically.
The meshDM backend was replaced by the custom data backend, that now figures
out which layers need to be modified, and only duplicates those.


This changes code in many places, and overall removes 2514 lines of code.
So, there's a good chance this might break some stuff, although I've been
testing it for a few days now. The good news is, adding multiple color and
uv layers should now become easy.
2006-11-20 04:28:02 +00:00
c47fa4d0ec Long waited feature: Render Baking
Here's the full release log with example file.
http://www.blender3d.org/cms/Render_Baking.827.0.html

For people who don't read docs; just press ALT+CTRL+B on a Mesh
with texture faces!

Todos:
- maybe some filter options extra?
- Make normal maps in Tangent space
2006-11-19 14:12:56 +00:00
0d08181c35 Generalized the sculptmode propset (DKEY) to work with strength as well as
brush size. Pressing the key once does brush size (same as before), then
pressing it a second time switches to setting brush strength.
2006-11-18 21:01:25 +00:00
4923b8e7a2 Fixes for Time Marker support in Action window;
- now draws on correct height
- selection is clipped correctly (did entire height)
- made showing scene markers default

Actually this implementation should have been a patch review... it was
done with entirely duplicating the code from timeline.c, whilst re-use
and generalizing markers has a preference. That way markers can become
supported in any time-based editor.

Will send an extensive review to Joshua Leung :)
2006-11-17 11:56:00 +00:00
9ce143ae25 This commit adds some missing features to markers in action editor,
and also fixes some further segfaults.

Now it is possible to 'surf' (jump) to different markers. This is only
possible through the hotkeys for this:
* Page Up - Next Marker
* Page Down - Previous Marker

These hotkeys match the ones in the timeline. In order to do so,
I've had to reassign two (rarely used/obscure) hotkeys:
* 'Ctrl Page Up' is now move selected action channel up (was Page Up)
* 'Ctrl Page Down' is no move selected action channel down (was Page Down)
I should also mention here that
* 'Shift Page Up' is move action channel to top
* 'Shift Page Down' is move action channel to bottom
2006-11-16 23:15:06 +00:00
7686e2cc5c New stuff:
- Weight paint options now also show in Nkey panel
- added uiNewPanelTitle() in interface API to rename panels. In use now
  for the Nkey panel title.
  (Note: original name is identifier, do not change that)
2006-11-16 20:55:11 +00:00
7b71b524ed Some more action editor marker bugfixes:
* (De)select all markers now works normally
* RMB click-drag in action editor when no markers caused segfault
2006-11-16 09:48:53 +00:00