Commit Graph

12883 Commits

Author SHA1 Message Date
c57d5bca73 Step one in migrating to use glArray calls in Blender
- Curve/Nurbs/Font/MBall now all draw arrays.
- had to flip abgr to rgba in shaded drawing
- Mesh drawing can't be easily done; the indices for faces are not in
  in one chunk. Also need a way to gether trias/quads, per material.

Speedup results are mixed. Something between 2-4 times. Especially for
text it seems to help.
2006-11-20 21:25:02 +00:00
208e69abab added dependancy relation between softbodies and collision objects
( move collision objects first )
2006-11-20 19:55:17 +00:00
ec8d1b496c Fix for a missing check for NULL face data in test_index_face in my
previous commit.
2006-11-20 19:03:37 +00:00
53eaa3b67a New displacement direction for Displace modifier: "RGB -> XYZ". This means
that vertices will be individually displaced in the X, Y and Z directions
by the RGB components of the texture (R affects X, G affects Y, B affects Z).
This can be used along with e.g. the colour Clouds texture for a jitter effect.
2006-11-20 14:23:41 +00:00
f7c24e1b11 Patch #5181: Option to use an object to determine the startX&Y in the
Wave Modifier

This patch allows the option to use an object to determine the wave modifier's
start X & Y, it also allows for animated objects giving a moving wave
start X & Y.

Thanks to Michael Fox for the patch!
2006-11-20 11:58:48 +00:00
a667b79b35 Small usability tweaks in Compositor:
- After making a Group, internal socket values are now copied to the
  group node, so an execute will give identical results
- After ungrouping, the cyclic dependency tagging didn't work well in
  all cases, showing a red noodle line and giving composite errors.
  For time being solved by calling the NodeSort twice.
- Viewer nodes now get previews updated always (used to be only the active)
  Note: this is not for previews inside of groups!
2006-11-20 09:37:01 +00:00
228b94dc89 softbody bugfix
evil typo causing crashes
2006-11-20 09:19:14 +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
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
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
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
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
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
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
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
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
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
4d1f0f0e5c CMake: More fixes was needed to get Quicktime working. CMakeCache.txt was fooling me. 2006-11-17 13:07:44 +00:00
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
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
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
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
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
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
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
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
ca6824a640 Correction commit, didn't have the console in correct directory!
Log again:

 Log:
  1)
  Bugfix: Beziers in curve didn't calculate the tilt values correctly for
  the endpoint and not for all handle types. That way deforming curves didn't
  extend the tilted deform either. (IRC report by Jahka)

  2)
  If you setup a Proxy for Armatures, the protected bones now have an error
  pupup for buttons and for some of the tools in 3d window (constraint edit
  mostly).
  Also the Bones Panel shows a note when the bone is not editable.
2006-11-16 11:49:14 +00:00
6cd62026b9 - Previews for composite nodes didn't scale correct for portrait sized
images (should make it narrow then)

- Forgot to press 'save' for changes in Juho's flip node, previous commit
2006-11-15 16:55:40 +00:00
3959fbcf1f Patch #5166, Juho V (bebraw)
New Composite Node: Flip (X/Y/both)
2006-11-15 15:18:06 +00:00
5d8efc9756 Patch #2307, by Bob Holcomb
Loadsa new compo nodes, most added in new menu "Mattes".

- Seperate into YCC
- Combine YCC
- Seperate into YUV
- Combine YUV

- (Chroma) Difference Matte
- Chroma Key
- Luminance Key

- Color Spill correction

Main problem is missing docs still... Bob is working on it, he'll also
make tooltips for all buttons.
Some UI things might change too, like more clear names.
2006-11-15 14:41:04 +00:00
e50112d441 Bugfix #5230
Vertex Parent option didn't have index correction for editing Meshes.
That caused the parenting to flip around when you deleted or added stuff.
2006-11-15 11:10:00 +00:00
a3c1c543f6 == Action Editor ==
A Plumiferos wishlist item: Markers working in the Action Editor too.

* The user can choose between displaying the scene markers (i.e. the
markers shown in the timeline) or the markers specific to each action,
by using the next list box on the action editor header. This is specific
to each instance of the action editor.

* The display of the markers currently still needs improvement. At the
moment, the triangle icons + text are drawn below all the last row of
keyframes. As such, I've made it draw yellow vertical lines which
span the height of the action editor, to also indicate markers.
Comments on this and also help getting the triangle thingies to 'float'
above the bottom scroll bar are warmly appreciated.

* There are a few minor update issues with editing a marker in the
timeline and the markers in the action editor which will be fixed soon.

* There are also a few hotkeys to still add.

Enjoy!
2006-11-15 10:41:28 +00:00
ed25eb9d9e Group Proxy: now drivers from proxy to Shape keys work :) 2006-11-14 21:06:11 +00:00
85c90b4951 Fixes in commit for Group Proxy feature;
- Groups with hidden parts didn't render OK
- Layer buttons sent out wrong events
2006-11-14 20:41:38 +00:00
a8ca44ea41 Bugfix in group-proxy, Deleting objects didn't reset proxy pointers. 2006-11-14 18:50:23 +00:00
9ab91ab361 New dupli-group feature: you can now set in Groups the layers you want
a group to show when used for duplicators. Is in the Object Buttons,
"Object and Links" panel. Note that the duplicator layer itself still
defines still visiblitily of entire group.
2006-11-14 17:16:15 +00:00
c0e9d77188 Next level of Proxy support for animation: Proxy for duplicated groups.
Notes:
- Only referenced groups (from other files)
- Only 1 group (no more duplicates using same group yet)
- Only Proxy working well for Armature or Empty

Is going to be reviewed in Plumiferos team; but target is that this will
solve a major animation pipeline bottleneck :)

Usage; select group, alt+ctrl+p, pick an object you want to proxify.
2006-11-14 15:27:43 +00:00
1113df4a9a Totally ancient year zero bug:
Deleting one object that's referenced from other file crashes when this
object still was pointed to by other referenced data.
2006-11-13 21:43:09 +00:00
Ken Hughes
2e133599da Python API:
Bugfix #5075: make curve.update() recalculate bezier curve handles.  This
would/should be called after changing the handles of a BezTriple.
2006-11-13 21:14:48 +00:00
b771cd9ca8 Two tiny compositor annoyances;
- Image Node: after loading new file it didn't update the header name
- File-out Node: header color suggested there was only 1 'active', which
  it isn't.
2006-11-13 16:43:45 +00:00
a43ba01c84 Fix for bug #5220: crash on edgeloop delete. 2006-11-13 15:36:33 +00:00
6c941bb3e1 Bugfix #5217
Call to refresh Image Icon on load should not be done for background
renders... crashed blender then.
2006-11-13 13:32:52 +00:00
fb9f21b614 Set the default material preview type to 'sphere' for newly added materials. 2006-11-13 01:24:46 +00:00
bbfb7e5483 bugfix
crash with duplicated softbodies
in copy_softbody() scratch pointer was not initialized to NULL in copy
did not know that function exists at all
2006-11-12 16:51:29 +00:00
e4a1eb4e09 Added custom vertex data support to editmode. Only used for vertex groups
now, others can be added later (sticky, shape keys). Beside one small fix
for knife exact vertex group interpolation, is intended to work the same
as before.

Also fixes bug #5200, related to editmode undo and vertex groups. And
corrects the editmode to faceselect mode selection conversion, that was
broken in a previous commit.
2006-11-11 23:23:15 +00:00
c41823cdb6 Compile error fix for last commit, using an undeclared variable. How GCC
allowed this to compile I have no idea.
2006-11-11 17:18:42 +00:00
feb210f08e Experimental feature, especially for the animation department:
THE OBJECT PROXY

Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.

This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.

Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-11 16:45:17 +00:00
97f892b86b Added custom face data support in edit mode. The code used to do this is
the CustomData module from the modifier stack rewrite, but with additions
to make it also usable in edit mode. Some of the datatypes from that
module were move to a DNA header file, they are not saved to file now, but
will be soon.

The only code that wasn't abstracted is the uv collapse / merging code. It
is rather complicated, will look into that in the future.

There should be no user level changes.
2006-11-11 16:38:37 +00:00
9e717b59cb softbody review
1. UI review -> disabeling options when not available .. giving hints why ( even tried to give usefull tooltips )
1.1 give some more user control to the solving process  (mins,maxs).. optional feedback on the console

2. replacing ugly object level 'sumohandle' with SB (private runtime) level/pointer 'scratch'
which holds runtime data like cached collider data and more .. and it's thread save this way :)

3.related no 2.  write a 'private' history of collision objects to ease the 'fast' collider tunneling syndrome'

4. some <clean> optimizations, 3-BSP for self collision,  general AABB checking before ever going to collision details

5. some <dirty>  ( in the sense of do some inacurate physics noone ever will see ) little tricks to make things faster .. ..fuzzy collision situation bypass .. forward collision resolution
2006-11-10 23:09:16 +00:00
68a2f29db3 Cleanup of evaluation code for Copy Rotation and Limit Rotation constraints.
Made them use the new the two new math functions I've added in arith.c (in
various patches) - Mat4ToEul and LocEulSizeToMat4 - cutting down on the
amount of code reuse.
2006-11-10 23:00:31 +00:00