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!
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.
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
- 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.)
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.
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.
- 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.
- 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.
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.
- 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"
============================
- 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.
=========
- 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.
=========
- 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.
=========
- 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/
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.
=========
- 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.
=========
- 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.
=========
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_Rewritehttp://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.