Commit Graph

39 Commits

Author SHA1 Message Date
314736eeb4 particle bug - Edit Particles could reference invalid face indices's,
Now particles lookup every face in the derived mesh to be placed on the mesh.
2008-02-18 14:06:45 +00:00
785b4dcdda Fix for bug #8052: particle emit from verts and volume didn't support
subsurf/derivedmesh mapping yet.

Also added int-to-pointer and back conversion function to solve warnings.
Note that it is only allowed to store an int in a pointer and then get
it back, but not a pointer in an int!
2008-02-18 10:49:46 +00:00
0fe6abbfa3 texture forcefields had a bug where uninitialized values could be used.
do_texture_effector assumed multitex_ext would assign r/g/b colors which isnt true for grey textures.
Fallback to PFIELD_TEX_GRAD with grey textures, node this in tooltip also.
2008-02-17 23:53:48 +00:00
1111561dd3 Particle looping works again at least to some extent (don't have time to test thoroughly). Instant looping had to be removed as it caused more trouble than good things. 2008-02-17 14:44:12 +00:00
b4f975b91a Particles' angular velocity mode "velocity" was actually just a duplicate of "spin" without any angular velocity, so it was removed. 2008-02-13 21:06:37 +00:00
7109955904 It seems my fix for bug 8274 broke hair, so reverting that and opening the bug again in the tracker :) 2008-02-13 18:57:28 +00:00
cc64c96c51 Fix for bug: [#8274] Particle System cannot be persuaded to recalculate
-The exact time for a particle being unborn or alive needed some adjusting
2008-02-13 15:33:37 +00:00
b12793fb4f Render Simplification
This adds a few settings to control global render quality, for faster
renders when tweaking lighting etc. The implementation is not so great,
and this should really be part of a proper render profile and preset
system. So for now it's a hidden Peach feature, enabled by setting rt
to 1. Before the next release, I'll either remove or improve it.

Settings are:

- Maximum subsurf level
- Child particles percentage
- Maximum shadow map samples
- AO and SSS quality factor
2008-02-13 11:18:08 +00:00
f695c1524c Fix for bug: [#8269] Particle / Vizualization / Draw / Disp reduces rendered particles
- Hair didn't update the visibility flag of each particle
- Changing the disp value gave a too strong update call to particles
- Changed disp value behavior for dynamic particles a bit, now all particles are always calculated for uncached frames so that every particle gets it's data cached. Now the disp value actually does what it's supposed to do, it alters the amount of particles DISPlayed in viewport, but doesn't change the simulations. (With old particles it was possible to only calculate the disp amount of particles too as everything was always recalculated from scratch anyways, but now that particles are more complicated and cached etc. it's not an option anymore.)
2008-02-12 15:26:20 +00:00
e706fc522b Fix for bug #8186. 2008-02-11 17:24:03 +00:00
8e94028ed5 Bounding box clipping in the render engine.
Now bounding boxes are computed per object, and checked first before
zbuffering objects. For strands, bounding boxes are computed per
original face in the mesh. Overall the speed improvement from this 
is quite small (zbuffering is rarely the bottleneck), but it seems a
sensible thing to do anyway.
2008-01-29 12:20:42 +00:00
fcff2e0c5f Added an "effector" vertex group for hair, that defines how much
influence effectors have.
2008-01-24 14:16:52 +00:00
f1fcbd8f14 Changed the way falloff for fields works, was hard to control well.
Specifically with maxdist set, the falloff is now from 1.0 to 0.0 at
the maxdist, so that there isn't a sudden discontinuity.
2008-01-23 22:46:09 +00:00
ec04c09365 Fix for error in approximate AO in last commit, made it really slow.
Also, duplis are now taking into account, the proper way to exclude
them is to set the material to be not traceable.

Removed an unnecessary pointer from the VlakRen struct to save some
memory, not really that significant, but still, saves 70 mb for 10
million faces.
2008-01-21 23:17:19 +00:00
14241f8349 Fixes:
- Particle system distribution wasn't flushed properly for non-edited hair.
- For instances in the renderer, also count their verts and faces in the stats.
- Fix for error in the "surface diffuse" formula for strand shading.
2008-01-21 14:18:24 +00:00
cb025f95de - Regarding the Peach "hair effectors" request in the mailing list I coded quick support so that effectors now can effect combed hair too. Nothing special needed to use, just normal field effectors, although there is a new "stiff" parameter in extras panel. (Note, at least for now this only works with path visualization)
- Keyed particles work again for all visualizations (previously only "path"), they still need some work though to be fully operational.
- Keyed particles weren't saved or loaded correctly.
2008-01-17 00:28:14 +00:00
e83b7bb46c Bugfix: with non-random particle distribution, the first particle could
still end up on a zero weight face.
2008-01-10 23:06:55 +00:00
fe6c98a4d9 Particle object and group visualization now also work for hair, to
make for example feathers. Also made dupliparts work within groups.

One issue still is that in particle editmode, the duplis can interfere
with brushes and selection, though tweaking the dupli object position
can alleviate the problem.
2008-01-07 16:26:41 +00:00
56faf73e3c - Bugfix for flickering shadow with strand simplification.
- On non-edited hair, don't generate child particles for
  each step, only at the end.
- Small optimization in the kd-tree.
2008-01-03 22:43:51 +00:00
2c6e0f5ab2 Bugfix for memory leak with particle roughness vertex groups. 2008-01-02 17:57:18 +00:00
d5e491c3ef Recoded particles initial rotations to allow much more flexible settings. 2008-01-01 01:00:05 +00:00
64dd90af0b - particle size changes weren't updated without a cache clear
- protecting the particle cache now actually protects the cache a bit better and not just prevent the clear button from working
- cache was being used for "none" physics.
- a bad tooltip for "reactor initial velocity"
2007-12-28 16:13:52 +00:00
276e056912 Bugfix for strand simplification, without random distribution enabled.
Bugfix (hopefully) for missing strands on render bug, probably related
to preview render.
2007-12-21 10:57:02 +00:00
c805d35c40 Bugfix for strand simplification commit, made child particles
from particles crash.
2007-12-20 17:08:17 +00:00
0f2b2e3c60 Strand Render Simplification
============================

- Strand render now has options to remove child strands as
  the object's faces becomes smaller, in the Simplification
  particle panel.
- "Reference Size" is the approximate size of the object on
  screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
  they are removed.

- Another "Viewport" option removes strands on faces that are
  outside of the viewport. "Rate" again controls how fast these
  are removed.

- Strand render in Blender Units now has an adjustable minimum
  width. Below this minimum width, strands start fading out
  instead of getting smaller.
2007-12-20 16:35:27 +00:00
84b58f8653 Particles
=========

- The render and realtime button for the particle system modifier
  and the enabled button for particles now work seperate again,
  made a bad design decision to tie them together. Now with only
  the render button and not realtime enabled it renders.
- Fix for bug #7948: particle mode crash while constraining axis.
- Fix for bug #7945: crash loading effector groups from an old file.
- Fix for bug #7942: crash for reactor particles emitting from particles.
2007-12-18 16:55:09 +00:00
f4e1c89b20 Bugfix: the transform of a particle system in a dupli-group was wrong. 2007-12-17 21:19:17 +00:00
293c91c305 Bugfix: with a lot of child particles (1500 per parent), some faces
would get no particles at all. Issue turns out to be precision of
floats for incrementing a number between 0 and 1, now uses doubles..
2007-12-17 16:25:15 +00:00
d4ee29f70a Bugfix: with particle distribution based on orco's, there was no
correction for them being 'squashed' to the bounding box of the
object, gave weird artifacts with child particle distribution.
2007-12-17 15:32:27 +00:00
e2e8ea9ed1 Fix for bug #7872: setting particles disp to 100 has no effect.
Fix for bug #7878: particle panels do not update properly when
chaning particle types.
2007-12-12 21:49:48 +00:00
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
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
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
11c2a6754b Bugfix:
Random particle distribution did not normalize weights properly,
could give particles on invalid faces.
2007-11-30 13:28:33 +00:00
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
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
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
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
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