Commit Graph

656 Commits

Author SHA1 Message Date
fd46b91650 Fix for bug: [#8817] Particleradius doesn't update until changing the amount of particles
-Reactor particles didn't initialize their birth times etc. properly when cache was cleared
2008-03-31 21:51:46 +00:00
0ce8fe1ec4 Fix for bug: [#8818] Particle reflecting strange from a simple plane 2008-03-31 20:54:00 +00:00
7f556ba4ef Fix for bug #8467: a softbody hair crash. 2008-03-14 18:21:06 +00:00
21dd86a159 Fix for bug [#8465] particle children for emitter particles doesn't render
-cached step didn't react to rendering and create child particles
-now emitter particle children can use the render amount too
2008-03-07 23:08:15 +00:00
64e76e7e02 Fix for bug [#8402] Hair particles don't react on changing of curve guides
-guide calculation was accessing wrong pointers in hair calculation
-now guides also respect the "apply effectors to children" - button, but not the "stiff" value
-disabled guide calculation for initial hair calculation as it's all done dynamically later
-few useless commented lines cleaned out
2008-03-07 22:39:54 +00:00
6af5a98c7e Bugfix: jitterd particle distribution was really slow for a large
number of particles/face. Now for > 25 particles/face it switches
to using a QMC hammersley distribution, much faster, for less
jitter still looks a bit better.
2008-02-28 13:31:25 +00:00
cbf278246f Fix for bug: cross platform strand render differences with kink/branch.
This time is was due to different accuracy of floating point computation,
now it uses does a comparison a bit different to avoid this.

Also changed the vectoquat function to be threadsafe.
2008-02-27 14:17:32 +00:00
d058a525db Bugfix for some particle system vertex group memory leaks. 2008-02-25 16:46:58 +00:00
6e4683fc52 Fix for bug #8353: switching particle hair with softbody to emit crashed.
Fix for bug #8355: crash zooming in render window.
2008-02-24 21:29:20 +00:00
1159bc9189 Fix for bug #8304: child distribution gave different results across
platforms. Cause was a function(rng_getFloat(), rng_getFloat()),
apparently the order in which rng_getFloat() is evaluated is not
compatible between operating systems.
2008-02-24 14:53:44 +00:00
46f27200e1 Bugfix: effectors in dupligroups didn't work, if the particle didn't
specify a group of effectors. Now it goes into groups recursively to
find effectors.
2008-02-22 16:31:10 +00:00
97d40faee9 Added an option for texture forcefields to use the root location of a particle for its texture coords.
Without this, animating grass would either look like seaweed (with low freq texture)
Or the grass would wrinkle up and get kinks (high freq texture)
This lets you use a high frequency texture while having straight grass.
2008-02-19 18:36:50 +00:00
41e4d7e4e6 Disable particle time looping for hair, doesn't have any purpose there,
only gives weird results.
2008-02-18 15:56:34 +00:00
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
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +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
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
d5e491c3ef Recoded particles initial rotations to allow much more flexible settings. 2008-01-01 01:00:05 +00:00
5307c07832 Badlevel call amount reduced to 21!
(worst was radio module)
2007-12-29 18:44:31 +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
25135a201b - removing conflicts in svn merge (didnt notice)
- adding more Makefiles
2007-12-24 19:13:04 +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