Commit Graph

6940 Commits

Author SHA1 Message Date
Ben Batt
729610d11a Changed the UI of the EdgeSplit modifier, based on broken's feedback from
long ago:
 - "From Angle" is now "From Edge Angle"
 - "From Flag" is now "From Marked As Sharp"
 - The "Split Angle" input is now hidden if "From Edge Angle" is unchecked
 - Changed tooltips to be (hopefully) more helpful
 - Rearranged buttons to accommodate longer labels
2006-11-20 08:08:22 +00:00
Nathan Letwory
65d53b675a add DNA_meshdata_types.h for MTFace 2006-11-20 07:21:20 +00:00
Nathan Letwory
7f49643474 * remove a stray ; and place a declaration before any actual code. msvc8 was falling over these. GCC needs some good spanking for allowing this type of code to
get through by compiling it

/Nathan
2006-11-20 05:51:36 +00:00
Matt Ebb
2cde6d2cd5 * Suggestion from Lazareus in IRC, deselect objects when they are made
invisible in the 3D View, so no unintended commands apply to them
2006-11-20 05:44:30 +00:00
Tom Musgrove
606a386888 =typo fix=
include was "listbase.h"

apparently is supposed to be listBase.h found by Lazareus on irc
2006-11-20 05:24:13 +00:00
Matt Ebb
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
Brecht Van Lommel
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
Robert Holcomb
0a7c43c6e5 Updated tooltips in matte nodes to better explain their use. Made the names of the matte nodes more consistent.
Minor change to to how luminance detail is added to alpha channel in chroma key node.

Removed unused inputs in chroma key and luminance key nodes.

Changed chroma key controls back to sliders because I think they offer the user a more intuitive interface to the node.
2006-11-19 19:17:32 +00:00
Ton Roosendaal
4ebf5223ba Render Baking:
- Bugfix: vertex normals were still flipped around, to match viewpoint
  rendering.
- New: option to bake a texture+material only
2006-11-19 18:44:54 +00:00
Joseph Eagar
6e086d4cfe =ID Properties Python Update=
ID Properties binding have now been added for textures.  Also,
the beginnings of supporting "del IDProperty Object" (which 
basically removes the property from it's parent group then frees
it) in python were done; really the only thing now is to figure 
out exactly *how* you overload the del operator. :S
2006-11-19 16:00:04 +00:00
Ton Roosendaal
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
Nicholas Bishop
204f6066a9 * Replaced the three X/Y/Z sliders that controlled the texture size in sculpt
mode with a single slider. (Doesn't seem likely the user is going to want to
  scale in one axis differently from another.) Additionally, the new slider
  works correctly in Tile mode in addition to 3D mode. In Tile mode, the slider
  value is considered pixel units.

In the process, found and fixed a few sculptmode bugs
* When loading a file that is already in sculptmode, initialize sculptdata
  as soon as the first sculpt/partial-visibility operation occurs
* Bug in the undo_push code; reading from free'd memory
2006-11-19 09:25:17 +00:00
Ken Hughes
0e682ce194 Animation system:
Bugfix #5027: Deleting Shape key sometimes caused corruption to Ipo curves.
sort_key() was moving key but not resorting adrcodes for keys and Ipo curves.

Also changed behavior of sort_key() so that it only resorts one key; all the
places which currently call it only do so after changing one key (the
previous code was moving the key one location at a time through the keyblock
list).
2006-11-19 06:07:24 +00:00
Brecht Van Lommel
2bb9d5471e Fix for bug #5250: inaccurate conversion between edit and pose mode bones.
Using acos(dot(u, v)) to find the angle between two vectors is quite
inaccurate, and there's a better way to do it, as explained here:
http://www.plunk.org/~hatch/rightway.php

Also changed the use of atan for computing roll to atan2 in some places,
the latter avoids accuracy and division by zero issues.
2006-11-18 23:07:32 +00:00
Joshua Leung
904dfcc6a2 Disabled some code which I added to make the markers menu only
display in action editor header when there was a set of markers +
an action.
2006-11-18 22:53:50 +00:00
Nicholas Bishop
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
Jacques Beuarain
681346188f CMake: Remove blender_img from sorted link list as it has been renamed/replaced 2006-11-18 16:24:59 +00:00
Jacques Beuarain
0b036eb2d1 CMake: Fix post build action for makesdna on other systems. This was broken during Windows work. 2006-11-18 13:26:05 +00:00
Ton Roosendaal
047a71c32c Compositor: now the preview images in nodes are restored between undo/redo
steps, making it all look much nicer!
To keep this interactive, no re-calculate event is generated. A user has
to force that by editing nodes or click on a socket.
2006-11-18 13:25:42 +00:00
Ton Roosendaal
fe339da0f0 Bugfix #5168
Composite: Rotate and Scale nodes ignored the translation offset.
I've added rotating and scale of offset vector, but this should become a
nice 2d matrix[3][3].

Also fixed: the call "pass_on_compbuf" now has correct handling for
using duplicate buffer rects. Can be used safely again to migrate input
buffers to the output when no operation happened. This makes translate
node faster again btw.
2006-11-18 12:34:33 +00:00
Ton Roosendaal
e76a1c120f Small fix in Composite "File Output" node: added Z buffer input socket,
for saving rgba+z exr files.
2006-11-18 11:11:55 +00:00
Jacques Beuarain
2a0fc46266 CMake: Fix FFMPeg/OpenEXR issues in CMake system and possibly the others. OpenEXR can be linked in DEBUG mode on Windows using the libraries in CVS and stub. 2006-11-18 02:48:18 +00:00
Jacques Beuarain
1a85cc1663 CMake: Do not create dummy dna.ca on initial run in wrong place for blender app 2006-11-18 02:40:36 +00:00
Joseph Eagar
e348456b3d =ID Properties Compile Fix=
The sanity check I added for rare 64-bit cases where sizeof(int)==8
wasn't working so well; part of the code wasn't even committed
(the function BLO_test_64bits I wrote specifically) and since 64-bit
systems like those are so rare and since the code seemed kindof bad,
I just cut it all out.
2006-11-18 02:18:40 +00:00
Alexander Ewering
a94925809b Bugfix for:
http://projects.blender.org/tracker/index.php?func=detail&aid=4786&group_id=9&atid=125

If the path to Blender contained whitespace, various places which called
the Blender executable wouldn't run. Now the path to the executable
should be quoted correctly everywhere.

If this breaks anything on other platforms, please shout :)
2006-11-18 01:45:47 +00:00
Nicholas Bishop
5234f8df68 Fix for sculptmode drawing error, where the brush was incorrectly shown with a texture after it had been deactivated. 2006-11-17 22:12:38 +00:00
Kent Mein
35d3781757 This reverts the dependancy stuff I did for make -j#
It was causing all of blender to be rebuilt every single time.
Need to do more to figure it out before we add this back in.

Kent
2006-11-17 18:29:46 +00:00
Brecht Van Lommel
28769382d2 Fix for use of an unitialised variable, added this myself some time ago
changing to threaded MEM_malloc.
2006-11-17 18:17:56 +00:00
Ken Hughes
318a694a25 Get rid of various warnings with gcc under linux 2006-11-17 17:50:43 +00:00
Jacques Beuarain
4d1f0f0e5c CMake: More fixes was needed to get Quicktime working. CMakeCache.txt was fooling me. 2006-11-17 13:07:44 +00:00
Ton Roosendaal
6b9bf57066 Yuck, a very ancient crasher in going area-full screen in Blender.
I wonder how this survived so long in Blender... (2005/03/09 commit).

Reason was the call to BPY_free_screen_spacehandlers(sc) in kernel,
which was freeing up scripthandlers in a weird way. That call is
really obsolete. The real freeing should go in the del_area() call,
to prevent copying and deleting area in the UI to go wrong.

(Crash happened in testing timeline markers, and holding CTRL+Uparrow
a while...)
2006-11-17 12:44:15 +00:00
Ton Roosendaal
414b918010 Forgot to include the BSE_time.h here. 2006-11-17 12:25:34 +00:00
Ton Roosendaal
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
Joseph Eagar
ab141e1439 =ID Properties Python Update=
IDProperties now have a sanity check to prevent different ID properties
in the same group from having the same name.  The appropriate code has been
added to the python bindings to catch this and raise an error.
2006-11-17 08:19:58 +00:00
Joseph Eagar
80f7ea96c8 =ID Properties Small Python Update=
This commit adds a new constant dict to the top Blender module
called PropertyTypes.  This dict represents all the ID Property
constants: STRING, INT, FLOAT, ARRAY and GROUP.

Further python work, including epydocs, are forthcoming.
2006-11-17 07:50:24 +00:00
Joseph Eagar
4c5fcf136b =ID Properties Update=
This commit adds file reading/writing of ID properties to all ID types, 
and also adds python access for NMesh, Mesh, Scene and Image.  Note 
that the file reading code might need some more work for certain 
future/planned features to save right.  Also I updated a few comments in idprop.c.
2006-11-17 06:14:15 +00:00
Nicholas Bishop
c8ca36a9c8 Fixed the delete texture button for sculptmode textures 2006-11-17 04:47:39 +00:00
Joseph Eagar
8768707610 =ID Properties=
This commit adds supports for per-ID properties to blender.
See http://mediawiki.blender.org/index.php/BlenderDev/ID_Property
for more information on how it all works.

ID properties are accesable by python; but note that 
bindings have only been added to Object and Material thus
far.  However adding more bindings is easy and I plan
on adding several more hopefully within an hour of this inital 
commit.

A generic UI panel is also planned, that will go wherever its
needed; for example in the material buttons, editing buttons, etc.
I'll likely submit the initial code for that as a patch, though,
so matt and ton and others can go over it and make sure it's
all good. :)

VERY important, if you intend to use ID properties please
go to http://mediawiki.blender.org/index.php/BlenderDev/PropertyStandards
and start writing the appropriate standards for it.
2006-11-17 04:46:48 +00:00
Jacques Beuarain
24f4440d05 CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on. 2006-11-17 02:27:12 +00:00
Joshua Leung
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
Ton Roosendaal
f89b052262 New Compo node: the Split-Viewer, showing two images halves to compare.
Works internally already with masks, so we can have several builtin
types.
2006-11-16 21:50:35 +00:00
Peter Schlaile
d59224377c == Sequencer ==
Fix for the fix. Added "Transform" twice. Ouchie!
2006-11-16 21:40:30 +00:00
Campbell Barton
97d306e68f Added group.layers bitfield to the python API 2006-11-16 21:38:08 +00:00
Peter Schlaile
1a36a9080c == Sequencer ==
Fixes Bug #5239 reported by Anders Gudmundson:
- Sequencer eats memory like popcorn with metastrips
- Crash on gaps in metastrips

Both were introduces by my last patch that added "Speed Control".

I also forgot to add "Speed Control" and "Color" to the "Add"-menu.
(Simply haven't noticed, I use the spacebar all the time...)
2006-11-16 21:36:04 +00:00
Jens Ole Wund
85615f7ac8 More Softbodies
Added a less 'strict' solver step size control.
Cuts down needed loops to a 1/5 in 'regular' collision situations.
So why be a maths smartass when we want to do a skirt in a breeze :)
Is on by default, old mode can be turned on with the 'O' button beside the RK-limit.

Some minor fixes to the UI
2006-11-16 20:57:02 +00:00
Ton Roosendaal
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
Ton Roosendaal
8f2ad64f3d Bugfix: sequencer scrubbing crashed in cache limitor, missing NULL check. 2006-11-16 20:23:29 +00:00
Ton Roosendaal
d7f63b4062 Plumiferos request (and useful :)
Static particle option: maximum length. Button is next to "Vect" in first
particle panel. This allows weird forcefields and wind to act without
extreme long strands.
2006-11-16 20:23:00 +00:00
Kent Mein
0de1fd9086 Added dependency to make destination directory before compiling a file.
This is needed for make -j#   where # is > 1
This doesn't totally fix everything for make -j2 but it makes things
mostly work.

Kent
2006-11-16 18:28:57 +00:00
Brecht Van Lommel
ca21bf8a60 Removed the "insert between" function from my patch, as agreed, it was
too confusing. The same thing can be done using "reassing inputs" from
the same patch.
2006-11-16 14:41:43 +00:00