Commit Graph

10681 Commits

Author SHA1 Message Date
Brecht Van Lommel 51322964f4 Particles
=========

- Normalize strand coordinates over the length of the strand, not
  cut off when with e.g. length texture control.
- Weight paint and particle mode x-mirror now works with deformation
  and shape keys active.
- X-ray is now disabled in particle mode, messed up depth tests.
2007-12-06 17:43:47 +00:00
Joshua Leung 1e45289f91 Constraints Bugfix:
IK-constraint "flush_targets" function was causing segfaults on debug builds from certain MSVC compilers. 

The cause of this, is that ct is freed in the SINGLETARGET_FLUSH_TARS macro already, but ct is accessed in the following line to get the next target (ct= ct->next). Caused by brecht's commit for the pole-target stuff for IK-constraint.

Now the SINGLETARGET_FLUSH_TARS macro, and the SINGLETARGETNS_FLUSH_TARS macro will correctly advance the location that ct points to.
2007-12-06 10:20:03 +00:00
Brecht Van Lommel 26b8892c9c Bugfix for mysteriously disappearing left eyeball. Bounding boxes
used for clipping were being stored in the mesh, but modifiers
can result in two objects with the same mesh having a different
bounding box. Solution is to store bounding box in the object.
2007-12-05 21:50:23 +00:00
Brecht Van Lommel b3c1e458b4 Particles
=========

- Added texture control for child particle roughness.
- Fix some use of uninitialized variables in particle texture code.
2007-12-05 15:48:49 +00:00
Brecht Van Lommel 29d87d64ca Particles
=========

- Texture orco coordinates for particles are now actual orcos instead
  of just the vertex positions, which means they are the same under
  deformations and the same as the ones on the mesh.
- Particle distribution now uses these orcos to get consistent
  distributions independent of deformation.
- This required changing the way orco's are computed for meshes. Now
  instead of generating an orco derivedmesh separately, the derivedmesh
  is generated alongside the regular one and stored in an orco custom
  data layer.
2007-12-05 12:40:54 +00:00
Joshua Leung 5c13e82140 Two transform tweaks:
* [Peach Request] AutoIK now respects axis locking (rotation locks).
- Temporary DOF-Locks are turned on for those bones that are part of an AutoIK chain while transforming. These locks get cleared after transforming.
- This works for all bones except the root bone of the chain, which doesn't seem to be able to be locked.

* Limit Location constraint can now optionally affect Translations too (i.e. NKEY panel values won't change). 
- LimitRot,LimitScale support (for their respective transforms) will be done at a later date
- This only works if the constraint is using World/Local space (the other spaces are not supported yet).
- I've added a temporary button in the LimitLoc panel to enable this option (it is disabled by default). This button will be properly assigned a place in that panel sometime.
2007-12-05 11:19:36 +00:00
Brecht Van Lommel 32a8b4f8e6 Particles
=========

- Fix crash in particle transform with the particle system not editable.
- Particle child distribution and caching is now multithreaded.
- Child particles now have a separate Render Amount next to the existing
  Amount. The render amount particles are now only distributed and cached
  at render time, which should make editing with child particles faster.

- Two new options for diffuse strand shading:
	- Surface Diffuse: computes the strand normal taking the normal at
	  the surface into account.
	- Blending Distance: the distance in Blender units over which to
	  blend in the normal at the surface.
- Special strand rendering for more memory efficient and faster hair and
  grass. This is a work in progress, and has a number of known issues,
  don't report bugs to me for this feature yet.

More info:
http://www.blender.org/development/current-projects/changes-since-244/particles/
2007-12-04 13:57:28 +00:00
Brecht Van Lommel ebfedd20b2 Mesh Deform Modifier
====================

Bugfix for mdef + groups. The mdef modifier treated the cage object as
a sort of parent, which meant that transforming the cage object also
transformed the mesh. However, this behaviour is different from e.g.
armatures, where transforming the armature object has no effect for
the modifier, but instead this transform is taken into account by the
fact that the armature is usually the parent of the mesh.

For groups and duplis, this basically lead to the parent transform
being applied twice. So, now transforming the cage object will have no
effect, except if you make the cage object the parent of the object.
2007-12-04 12:39:27 +00:00
Ken Hughes 3e544d04b5 Tools
-----
Make FFMPEG image save use PNG format instead of JPEG.
2007-12-04 05:53:32 +00:00
Ken Hughes 62e28f52da Tools
-----
Bugfix #7831: fix image filename extensions on saved files.  Make FFMPEG save JPEG images by default, allow JPEG images to have either ".jpg" or ".jpeg" extension.
2007-12-03 23:37:33 +00:00
Campbell Barton a2d6623689 bugfix, curve radius would display incorrectly when there were single point's before a curve. now allow the bevel list to have zero point BevList's to keep in sync with curve->nurb as was expected in a few places. 2007-12-03 22:42:48 +00:00
Ton Roosendaal 71e4b3ce22 Another Proxy Armature bugfix:
- Library referencing didn't add the new local Ipo for constraints
- Proxy command didn't set the driver object in constraint ipo to be 
  the new proxy object.
2007-12-02 18:33:14 +00:00
Brecht Van Lommel 6a9c6674ca Particles
=========

Bugfix for crash with disabling the particles system and saving/loading
files, the way it detected if the mesh had changed could not work correct.
2007-12-02 15:54:54 +00:00
Campbell Barton 1e32ec2000 minor update, "Draw Handles" wasnt working when disabled everywhere and replaced some magic numbers 2007-12-01 23:25:00 +00:00
Campbell Barton 141e279d70 wizard_curve2tree.py - bounding twig mesh didnt work if it had some transformation.
buttons_shading.c - premul button was overlapping movie buttons
2007-12-01 22:00:09 +00:00
Brecht Van Lommel 475cf46d61 Bugfix:
Duplicating or separating objects with a particle system could crash.
2007-12-01 20:08:31 +00:00
Ton Roosendaal 45c41ffb69 Two fixes:
- new option for Local Constraint Ipos did not set user counter in
  Ipo at file reading, causing data to get lost (not saved).

- Driver feature: the channels "Loc X Y Z" now also use the result
  of constraints, but transformed back into local space, as if it 
  was action X Y Z. Nice stuff for those who understand this... 
  it means you can drive something with a bone that has constraints.
2007-12-01 10:48:33 +00:00
Campbell Barton 6b88141fda dupliFaceScale wasnt being initialized for new objects, added Python api access 2007-11-30 14:10:36 +00:00
Brecht Van Lommel 0bcc5e8b8d Bugfix:
Another one in the particle distribution, the last particle could be
placed on faces with zero weight.
2007-11-30 13:45:23 +00:00
Brecht Van Lommel 11c2a6754b Bugfix:
Random particle distribution did not normalize weights properly,
could give particles on invalid faces.
2007-11-30 13:28:33 +00:00
Campbell Barton a4c17c7c88 anim.c, buttons_object.c, readfile.c, BKE_blender.h - dupliFace scale option, needed for leaves.
modifier.c, BKE_modifier.h - flag for modifiers to say they use pointcache, also new func modifiers_usesPointCache
renamed //pointcache to //blendcache_blendfilename so blendfiles in the same dir dont conflict, and other to show this dir isnt limited to pointcache only (nodes way want to use this)
wizard_curve2tree.py - better defaults for pretty tree's
2007-11-30 10:38:59 +00:00
Janne Karhu 04a009b047 Point cache was reset in many updates where it shouldn't have been reset.
Preview render crashed with "only render" children.
2007-11-30 07:41:22 +00:00
Janne Karhu e893c9d739 Fix for bug #7846 2007-11-29 22:04:07 +00:00
Janne Karhu 9ff9a5cdca 2nd try at committing to trunk (instead of particles branch) :)
Fixes for bugs in #7833
- Hair softbody cache was reset on rendering.
- When Alt-a playback is synced to audio frames are skipped. This caused dynamics caching to go crazy. Now the first loop of playback goes through all frames if there are non cached dynamic systems.

Invalid point caches weren't cleared when new systems were created. This caused messed up shapes when softbody was added.
2007-11-29 21:09:16 +00:00
Brecht Van Lommel 18e5f7b50b Shape Keys
==========

- Added a Mute button for shape keys, useful for debugging the influence
  of driven shape keys.
- Bugfix for the shape keys relative to others keys, was hanging in
  an eternal loop when deleting the other key.
2007-11-29 19:35:30 +00:00
Daniel Genrich e9c9bf5bdb svn merge -r 12691:12716 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-29 12:40:53 +00:00
Daniel Genrich 543f38c20a Fix: GUI cache reset should work again, same goes for collision modifier (enabled through 'deflection' panel 2007-11-29 12:29:32 +00:00
Brecht Van Lommel 561319989e Render Baking
=============

A new "Selected to Active" option in the Bake panel, to (typically) bake
a high poly object onto a low poly object. Code based on patch #7339 by
Frank Richter (Crystal Space developer), thanks!.

Normal Mapping
==============

Camera, World, Object and Tangent space is now supported for baking, and
for material textures. The "NMap TS" setting is replaced with a dropdown
of the four choices in the image texture buttons.


http://www.blender.org/development/current-projects/changes-since-244/render-baking/
2007-11-28 22:21:12 +00:00
Ton Roosendaal ce52384e9f Small material assigning feature:
in EditButtons, panel "Links and Materials", there's now a browse button
to directly assign a material to selected faces. It does:

- check if material was already in one of the 'slots' of the object
- if so, then use this as index to assign
- if not, then add a new slot, and assign the new index
2007-11-28 18:43:09 +00:00
Ton Roosendaal 7154e84ee1 Images now have option to be tagged "convert to premul".
Option available in the Image (properties) panel.
2007-11-28 12:32:25 +00:00
Ton Roosendaal 36f7da7046 Tiny feature, but loadsa code, and big impact for the Blender riggers:
-> Constraint Influence Ipo now can be local, linked to constraint itself

You enable this in the IpoWindow header, with the Action icon to the left
of the Ipo Type menu. The button tooltips give the clue as well.

Tech note: the Ipo now can get directly linked to a constraint, and is
being called during regular pose constraint solving.
Actions (and drivers in actions) are being calculated *before* pose 
constraint solving. Result of actions then is written in bones, which
then solves the entire pose.
This means you can have a driver on both the constraint, as on the action
channel for the constraint! Not that I'm going to debug that easily :)

Additional fix: Joshua added a copy/paste IpoCurve feature, but he broke
the functionality to be able to paste in an empty ipo channel. That now
works again
2007-11-28 12:11:06 +00:00
Brecht Van Lommel d53f147b7b Particles
=========

- Fix for bug in emission from vertices.
- Fix for undo/redo refresh glitch.
2007-11-27 16:16:47 +00:00
Brecht Van Lommel 64ef57c666 Particles
=========

- Fix crash with the cut tool and child particle drawing.
- Make the "Col" option to use material colors work for
  the path/hair visualisation type.
2007-11-27 14:12:56 +00:00
Daniel Genrich 087a549e55 svn merge -r 12684:12691 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-27 13:25:07 +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
Daniel Genrich 41745b8a50 Particle merge: svn merge -r 12653:12664 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-26 23:11:07 +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
Daniel Genrich c8a412cdcb Commit of fluid fix for 32/64bit and max 2.5gb ram issue 2007-11-25 21:14:52 +00:00
Daniel Genrich 531787e089 svn merge -r 12653:12664 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-24 22:49:56 +00:00
Daniel Genrich 638b95634e svn merge -r 12607:12653 https://svn.blender.org/svnroot/bf-blender/trunk/blender + add OpenMP for msvc/gcc to scons, cmake and Makefiles (libs + compiler flags are still missing in Makefiles) 2007-11-22 20:28:24 +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
Daniel Genrich 83c1dd78a6 Fixed numerical issues, hardened it again. 2007-11-22 17:02:37 +00:00
Daniel Genrich 4cb5470f82 WIP commit to be able to revert later (known bug: unstable without sse enabled - weird) 2007-11-21 08:13:00 +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
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
Daniel Genrich f28ab5de21 Bugfix: scaling/rotation/translation works again 2007-11-19 23:45:26 +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