Commit Graph

9166 Commits

Author SHA1 Message Date
Brecht Van Lommel
2fa5e8fdc9 Particles
=========

- Fix for bug #7837: circle drawtype + velocity crashed.
- Setting density vertex group didn't do proper refresh.

Mesh Deform Modifier
====================

- Make it work for nurbs and curves.
2007-11-27 13:20:51 +00:00
Brecht Van Lommel
da3c35db47 Particles
=========

- Bugfix: synchronize modifier enable with particle enable flag to
  prevent crash.
2007-11-27 12:34:59 +00:00
Brecht Van Lommel
01e2395e05 Particles
=========

- Fix for bug #7840: adding particle system to nurbs, curves crashes.
  Now simply doesn't allow to add a particle system to a non-mesh
  object, the current code does not support it.
- Fix for bug #7834: deleting vertices of an object with a particle
  system crashes. Fixed by disabling particle display for objects in
  editmode.
- Fix for the particle add brush on subsurfed objects.
2007-11-27 11:17:52 +00:00
Brecht Van Lommel
e39b5f790d Particles
=========

- Fix for bug #7832: boids physics crashed.
- Bugfix for child particles not getting orco texture coords.
- Allow smaller strand sizes in blender units.
- Fix for a common but harmless uninitialized value warning in
  valgrind, in the event queue.
2007-11-27 09:59:18 +00:00
Matt Ebb
4c07fb72ec * Don't swap mouse buttons for particle painting - similar thing
was done a while ago in trunk, but this probably never made
it through to particle branch.
2007-11-27 02:13:56 +00:00
Brecht Van Lommel
7da56f4a9b Particles
=========

Merge of the famous particle patch by Janne Karhu, a full rewrite
of the Blender particle system. This includes:

- Emitter, Hair and Reactor particle types.
- Newtonian, Keyed and Boids physics.
- Various particle visualisation and rendering types.
- Vertex group and texture control for various properties.
- Interpolated child particles from parents.
- Hair editing with combing, growing, cutting, .. .
- Explode modifier.
- Harmonic, Magnetic fields, and multiple falloff types.

.. and lots of other things, some more info is here:

http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite
http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc

The new particle system cannot be backwards compatible. Old particle
systems are being converted to the new system, but will require
tweaking to get them looking the same as before.

Point Cache
===========

The new system to replace manual baking, based on automatic caching
on disk. This is currently used by softbodies and the particle system.

See the Cache API section on:
http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint

Documentation
=============

These new features still need good docs for the release logs, help
for this is appreciated.
2007-11-26 22:09:57 +00:00
Martin Poirier
121dab1bcd Fixes for some long standing transform bugs.
- [#6112] is this an extrusion bug?

When extruding, x-mirror was giving weird behavior since the extruded vertice could match with their non-extruded counterpart on the other side.

The solution is to disable x-mirror (with a transform context flag, like disabling PET) in that case.

- External constraint setup calls (BIF_*) didn't setup some internal structs properly.

For the user, this resulted in some transform (extrude particularly) showing a full 3d vector in the header instead of a scalar along the constraint axis (this messed up num input a bit too, you could type values in unused axis).
2007-11-26 01:52:48 +00:00
Peter Schlaile
4018dfd28f == Sequencer ==
Added malloc mutex handling. (Sorry, had to patch threads.c a bit,
since otherwise scene tracks will completely screw things up...)
2007-11-25 16:35:33 +00:00
Campbell Barton
a32287ebfb replace macro's with functions for UV editmode checks, this wasn't nice code and broke building on solaris 2007-11-25 13:43:14 +00:00
Campbell Barton
13e73af13e ==Python API==
Added a keyword argument for mesh.pointInside(point, selected_only=True)
This means only selected faces are tested when doing the inside/outside test, disabled by default.
2007-11-24 18:29:33 +00:00
Andrea Weikert
a0658707e1 Bugfix #7804 : Opened file is not registered correctly when started from command line
- treat file passed as parameter the same as if loaded from UI if Blender isn't running in background mode.
- only set relative base as valid if file loaded successfully.
2007-11-24 17:08:40 +00:00
Ton Roosendaal
af26256da4 Bugfix #7802
Fixed very old annoyance in alpha render: when using alpha textures images,
nicely premulled as Blender wants it, you still got dark outlines at the
edges. This because the blender shading pipeline also premultiplies.

Solution: de-premul image texture colors after sampling.
2007-11-23 14:48:26 +00:00
Brecht Van Lommel
885593ca21 Fix for bugs #6709 and #7005:
- SSS not working with negative scale objects.
- Fluids + SSS not always rendering smooth normals correct.
2007-11-23 14:10:05 +00:00
Joshua Leung
45a53c4749 Bugfix #7654: Keyframe translation in (Action/NLA) wasn't working correctly for scaled actions
Scaled action times were getting calculated twice, which meant that translating a keyframe resulted in the keyframe "not following the mouse position".
2007-11-23 11:07:57 +00:00
Campbell Barton
b21df550d3 ==Python API==
made it possible to remove curves from python with "del curve[i]"
mesh_edges2curves.py - remove unused function.
2007-11-22 22:07:41 +00:00
Ton Roosendaal
a8aaec6f21 Bugfix #7573
NLA Window, Strip blending mode "Add" didn't work at all.
It was using very bad quaternion addition. Replaced with proper code.

For devs; new is the function QuatMulFac(quat, factor) which allows to
multiply a rotation with a value (make it rotate more or less)
2007-11-22 20:25:59 +00:00
Campbell Barton
a038363124 mesh_wire.py - gave an error with no faces,
wizard_curve2tree.py - didnt work with no bevel object
Curve.py - ext1, ext2 didnt reference the interface names.
2007-11-22 16:30:14 +00:00
Campbell Barton
0d6d89a27b wizard_curve2tree - mistake while debugging.
buttons_shading.c - short names for world settings were not needed.
2007-11-22 14:10:51 +00:00
Campbell Barton
e64a44266c SetPivot, patch from malefico, #7785 also added GetPivot 2007-11-22 10:10:57 +00:00
Joshua Leung
313553b1ed == Armature Path Drawing Tweak ==
Peach Request: Bone path lines are now drawn using two colours to show the parts of the path before and after the current frame. Those before the current frame are drawn darker, while those after are drawn in a blue colour.
2007-11-22 00:58:57 +00:00
Joshua Leung
cfb5eb1b8f Patch #7794: X-Axis Mirror Support for Various Operations in Armature EditMode
Patch by: Teppo Kansala (teppoka)

This patch adds X-Axis Mirror support for the following tools:
- Delete Bone (X)
- Recalculate Bone Roll Angles... (Ctrl-N)
- Duplicate Bone (Shift-D)
- Clear Parent... (Alt-P)
- Move Bone To Layer (M)
2007-11-21 23:22:56 +00:00
Campbell Barton
307ad085fc wizard_curve2tree.py - always use active object (local view was messing up the context)
Mesh.c - mesh.faces.extend([..., smooth=True]) - smooth keyword argument, in a number of places was looping through all faces just to smooth them.
mesh_skin.py - smooth by default
2007-11-21 11:53:30 +00:00
Joshua Leung
00762be141 Patch #7779: Make the 'Hold' option work with NLA action modifiers
Patch by: Matt Ebb (broken)

Currently in Blender, NLA action modifiers can work in very wacky and mysterious ways.

If an action is being modified with a path deform, when it reaches the end of that strip, it will snap back to the original un-modified location, regardless of whether the strip 'Hold' option is on. It's very frustrating to work with, and causes all sorts of problems - if you use a path to make a character walk from point A to point B, you generally want him to stay at point B, and not jump somewhere completely different, just because the strip ended.

This patch fixes this behaviour, and makes it much more sensible and predictable. There is a chance that this will break old files that were reliant on the old broken behaviour though, but I think it's definitely worthwhile to fix this problem.

Check the demo file in Blender 2.45 vs one with this patch applied - you can see the difference in behaviour.

Demo File Link (attachment in original tracker post):
https://projects.blender.org/tracker/download.php/9/127/7779/4856/wheelsetup2.zip
2007-11-21 04:49:13 +00:00
Joshua Leung
b276050a08 == Auto-Keyframing - 'Only Needed' Improvements ==
The 'Only Needed' option for Auto-Keyframing now works better with a few of the different transform options. 

Rotating/Scaling using a pivot point that is not the center of the Object/Bone (3d-cursor, active), also inserts location keyframes if the location also changes. If "Only Centers" option is activated, then only location keyframes are inserted.
2007-11-21 04:08:00 +00:00
Ton Roosendaal
b7e0da6c3a Another feature request from the animation dept:
Relative shapekeys now allow to define the Shape it is relative to!
(It used to be relative with respect to the first key, which is still
default).

The reason for this feature is that keys don't always add together
well when they're all derived from the same base shape. A clear
example is hard to make... will wait for someone posting it. :)
2007-11-20 16:58:25 +00:00
Ton Roosendaal
0ec5942521 Tiny group-proxy update:
When you make proxy, the group-update tags should be set OK. 

Symptom: you could not move proxy around until you set keys 
in bones and advance frame.
2007-11-20 15:01:44 +00:00
Campbell Barton
7733696b24 draw image path and size stats in the sequencer again (removed when making single images act differently)
sequencer marker selection didn't work like the marker view.
2007-11-20 14:09:34 +00:00
Andrea Weikert
7ade814141 Bugfix #7510: Doesn't save .blend file name with [
* Added Windows specific implementation for fnmatch taken from GNU/MINGW/MSYS C library
* behaviour should now be the same as under Linux and other OSs
* changed filename for fnmatch.h to ensure we include the correct one if we link with the included implementation
* tested compile with MSVC 7.1 and gcc(MinGW-5.1.3) on Windows.
2007-11-19 20:13:14 +00:00
Campbell Barton
a92173d479 ==Python API==
removing vertex groups was broken, the function being called was for editmode, this would remove the vertex group but apply the weights from the removed group to the next vertex group.
2007-11-19 19:00:28 +00:00
Ton Roosendaal
1199744188 Revamp of multi modifier option!
- error fix: overall weight group value was used inverted
- added "Inv" button to make weight group work inverted
- added bigger, more clear Multi Modifier button
2007-11-19 18:00:48 +00:00
Campbell Barton
0b0542c785 typo in Text3d, weightpaint_invert wasnt working properly 2007-11-19 10:49:12 +00:00
Peter Schlaile
00ca12c34d == Sequencer ==
Well, added unnecessary pad variables after a fight with makesdna...
2007-11-18 17:44:48 +00:00
Peter Schlaile
dc6ac56d31 General cleanup in sequencer:
- Seperated StripData into
  StripData
  TStripData
  where StripData holds only image-filenames and TStripData holds
  the working information needed for ImBuf caching.
  => Large drop in memory usage, if you used a lot of movie and meta strips.
  => Fixed bugs in "duplicate" on the way (imbufs where copied around without
     taking reference counting seriously...)
  => Code is much cleaner now
- Added defines for TStripData->ok
  Finally figured out, what the magic values ment and named them properly :)
- Got rid of Sequence->curelem.
  Reason: very bad idea(tm) for multi threading with more than one render
  thread. Still not there, but this was a real show stopper on the way.
2007-11-18 17:39:30 +00:00
Brecht Van Lommel
6d5396fc65 Fix for multimodifier commit breaking game engine compile. 2007-11-17 21:12:25 +00:00
Campbell Barton
6ce8374990 Selecting an image in editmode now adds UV's if they are not there (before assigning the image) 2007-11-17 14:21:53 +00:00
Ton Roosendaal
7accd3a662 Long outstanding feature request: "Multi Modifier"
This allows to mix between the result of 2 modifiers, with both
using the same input state. This is useful for having a mesh deform
and armature deform working together.

However! This functionality could have been presented better...
this is actually Node editor stuff!

Now it works by adding a "MM" button, next to the "overall vgroup"
option. If MM is pressed, the input of this modifier is the same as
the input of the previous modifier.
Only the armature modifier has this option now...
2007-11-16 15:46:59 +00:00
Campbell Barton
ad700ba24f * wizard_curve2tree.py - Automatic alpha blended, textured image joins using material textures and UV layers. Also added some detail options and made it easier to get low poly results.
* Mesh.c bugfix, "mesh.verts = None" didn't set the mesh->mselect pointer to NULL, wizard_curve2tree so would crash when in editmode.
* Texture.py - MTex.uvlayer doc was missing
* buttons_shading.c - Stencil tooltip was stupid.
2007-11-16 14:47:31 +00:00
Juho Vepsalainen
fd3764f9a4 = Fix for softbody collision mode selector =
This commit makes all softbody collision modes work as they should.

Thanks to Genscher for noticing the issue.

bjornmose, please check this commit.
2007-11-16 12:23:00 +00:00
Ton Roosendaal
6dbe745396 Bugfix #7552
Panels with different width or height, should give a re-align call 
when tabbed and tabs switch
2007-11-15 19:02:31 +00:00
Ton Roosendaal
ca9db6ef25 Bugfix #7631
Outliner: change name of library path to become relative gave 
incorrect warning.
2007-11-15 13:38:35 +00:00
Campbell Barton
c6667c53e3 put the revision number in the splash screen (scons and make) 2007-11-15 12:16:03 +00:00
Ton Roosendaal
33e5520ab3 Proxy fix:
Armature Proxy: the 'free pose channel' didn't restore the custom shapes
when reloading file.
2007-11-15 12:15:28 +00:00
Matt Ebb
cbceb9bf66 * Fixed own bug: glossy reflections was erroneously giving a
distorted copy of the original face normal, meaning that on 
smooth shaded faces, sometimes the check to keep rays 
reflected out away from the face wasn't working, and the ray 
would intersect when it shouldn't.
2007-11-15 06:07:02 +00:00
Matt Ebb
d273ae0571 * New material option: TexFace Alpha
This is an additional option for 'TexFace', which uses the alpha of 
the UV assigned faces as well as the colour. It appears in material 
buttons as a little 'A' button next to 'TexFace', when 'TexFace is 
switched on. It's a bit horrible, but no point tweaking that layout in 
isolation at this stage.

This image is using texface alpha, with different assigned images, all 
sharing the one material:
http://mke3.net/blender/devel/rendering/texface_alpha.jpg

Usually I consider texface (and teaching people to use it for UV 
mapping) to be pretty evil, but in some cases, when you have lots of 
separate images that you want to control in the one material, it can 
be quite handy.
2007-11-15 00:11:00 +00:00
Joshua Leung
eedfb86ea5 Bugfix #7781: "IPO-Broom" effect
This commit *should* fix these problems for good. It seems that my attempts at optimising the code (by exiting a loop once the first match was found) were causing it to fail. 

I've also made the code aware of handle swapping. I noticed that the handles were not being corrected appropriately after negative scaling.
2007-11-14 23:46:18 +00:00
Brecht Van Lommel
0fae1fdad3 Bugfix:
Drawing linked duplicates in editmode leaked memory, and could
also crash. This fixes the memory leak, and hopefully also the
crash.
2007-11-14 22:56:32 +00:00
Joshua Leung
41c6758027 Just a little comment commit explaining where "samples" comes from... 2007-11-14 22:44:30 +00:00
Andrea Weikert
a219d6e238 - fix for crash with MSVC compiler, global array constraintsTypeInfo overwriting caused memory corruption
Aligorith: please check, I think fix is quite obvious though.
2007-11-14 21:19:49 +00:00
Ton Roosendaal
c3bbd543c7 Small feature added to new "show bone paths around cfra":
- after a insert-key (autokey mode) it updates paths.
2007-11-14 16:50:51 +00:00
Ton Roosendaal
fa8032ce31 Bugfix in MeshDeform file reading, should check for NULL pointer case... 2007-11-14 16:20:19 +00:00