Commit Graph

11091 Commits

Author SHA1 Message Date
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
2a0f072fd9 Axial Symmetry Restoration
Mirror merge two sides together to restore axial symmetry (like on a humanoid).

The symmetry is detected using the topological information from the Reeb graph. Eventually, it will have to distinguish between topological symmetry and potential spatial symmetry and only restore the former (for example, a human is always topologically symmetric, but we only want to restore the symmetry if the limbs are oriented in the same way).
2007-11-26 20:27:01 +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
Campbell Barton
a29f082728 new twig type that gives more even results - "Fill Twigs" option 2007-11-25 20:49:38 +00:00
Daniel Genrich
63ef1dfb02 Bugfix: Wrong 32/64bit check was used which resulted in a 2GB limit for some 64bit architecture 2007-11-25 17:10:11 +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
Nils Thuerey
7dc1250865 - forgot to include a file in the last commit 2007-11-24 17:10:48 +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
Martin Poirier
92c70c5bbb Code cleanup and recursive symmetry detection. 2007-11-22 23:34:02 +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
Geoffrey Bantle
78ea4f3564 -> Updated FLT scripts
Blender FLT I/O scripts have been updated to have more features.In addition
several utility scripts/applets have been added to aid in working with FLT 
databases within Blender.

Documentation can be found here:

http://wiki.blender.org/index.php/Scripts/Manual/Import/openflight_flt
http://wiki.blender.org/index.php/Scripts/Manual/Export/openflight_flt
http://wiki.blender.org/index.php/Scripts/Manual/FLTools
2007-11-22 01:43:24 +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
Martin Poirier
1119ec94ed Fixing inter-arc parenting problems
Removing a lot of debugging cruft
Start of recursive symmetry detection
2007-11-21 22:44:17 +00:00
Nils Thuerey
818bfcca63 - Added OpenMP code, it is enabled by defining PARALLEL=1 for the elbeem
compilation.  Currently, it is not yet active by default, but 
  Genscher wanted to do some tests. 
  It can be used to distribute the computation load onto multiple shared-
  memory CPUs by splitting the domain along the y-axis (assuming a 
  gravity force along z). However, there is no load balancing: so
  if there's fluid only in one of the y-axis halves you will not get 
  a speedup for 2 CPUs.  

- Added a fix for the memory allocation bugs #7120 and #6775. In 
  solver_init.cpp there are now several variables max___MemChunk 
  (line 692+), that set upper limits for various systems. The same
  problem existed for mac & linux, but the limit is higher, so 
  it probably went by undetected. The windows limit is currently 1GB,
  if the strange 700MB limit problems mentioned in the bug regports the 
  bugs persist, this could be further reduced. For 64bit compilations 
  this problem shouldn't exist anyway.
  What's still missing is a display of how much the resolution was 
  reduced to fit into memory...

- And some minor solver code cleanup.
2007-11-21 22:12:16 +00:00
Campbell Barton
413c24c746 initial support for leaves as duplifaces as well as some a bugfix for loading settings 2007-11-21 16:07:47 +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
Campbell Barton
3a8328784e made twig taper a float rather then a bool, added type conversion when loading settings. 2007-11-21 09:46:08 +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
Martin Poirier
11fc4432b9 Adding subdivisions by correlation.
This is much nicer than subdivision by angle but is somewhat less intuitive for users.

Added Bucket arc iterator, removing a lot of weird duplicated code in skeleton generator.
2007-11-20 22:25:25 +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
aaba5d1a18 Update v1.0.11 from Migius
You can find the update v1.0.11 on http://wiki.blender.org/index.php/Scripts/Manual/Import/DXF-3D

changelog:
c4 added "analyse DXF-file" UI-option: print LAYER/BLOCK-dependences into a textfile
c3 human-formating of data in INI-Files
c2 added "caps" for closed Bezier-curves
c2 added "set elevation" UI-option
c1 rewrite POLYLINE2d-arc-segments Bezier-interpreter
b9 many bugs fixed
b9 rewrite POLYLINE2d-arc-segments trimming (clean-trim)
b8 added "import from frozen layers" UI-option
b8 added "import from paper space" UI-option
b8 support Bezier curves for LINEs incl.thickness(0.0-10.0)
b8 added meshSmooth_on for circle/arc/polyline
b8 added vertexGroups for circle/arc
b7 added width_force for ARCs/CIRCLEs = "thin_box" option
b3 cleanup code, rename f_drawArc/Bulg->f_calcArc/Bulg
b2 fixing material assignment by LAYER+COLOR
b1 fixing Bezier curves representation of POLYLINEs-arc-segments
b0 added global_scale_presets: "yard/feet/inch to meter"
2007-11-19 17:39:52 +00:00
Campbell Barton
80357d7f28 initial leaf support (need to use in production, at the moment its really simple)
Option to generate variation's - This modifies the original shape to make a variation on the original.
2007-11-19 14:00:48 +00:00
Campbell Barton
0b0542c785 typo in Text3d, weightpaint_invert wasnt working properly 2007-11-19 10:49:12 +00:00
Campbell Barton
cf60bf576b simple weight invert script for the weightpaint menu, removed a print from weightpaint_average.py 2007-11-19 10:17:55 +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
Campbell Barton
e0fb0a1783 wizard_curve2tree - more twig options
- gravity (like particles)
- follow parent (like gravity but use the parent normal)
- limit the number of twigs on each branch
- limit the radius that a twig may be placed on a branch
- trim the base of branches in a way that better deals with small branches on large branches
2007-11-17 01:17:23 +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