* add support for LCMS (disabled by default, set WITH_LCMS to true to enable it)
* fixed typo that prevented TIFF support to be properly enabled
* enable ray optimization by default (scons and cmake already did this)
* fixed building with libsndfile on darwin (disabled by default)
* quicktime: use audaspace headers from $(NAN_AUDASPACE)/include instead of intern
* gameengine: add -DWITH_FFMPEG to compiler flags when building with ffmpeg support
This patch cleans up the sequencer core by replacing the caching system
(TStripElems) with a hash based system, which is:
a) a lot faster
b) a lot more readable
c) a lot more memory conserving
The new caching system is also a good building ground for
a) sub frame precision rendering (even on scene strips)
b) multi core rendering (threaded rendering is still disabled, but can
be extended now to arbitrary core numbers)
I tested the code on an extensive editing session today and had no
crashes during 4 hours of editing. So I consider it very stable.
Now the bounding box for the light cache's voxel grid is calculated in
global space, rather than camera space as it was previously. This fixes
flickering lighting on static volumes with camera motion, caused by
the camera space bounding box changing from frame to frame.
faces. Only happens with scons/msvc and SSE enabled for raytracing. Why this
happens exactly I don't know, I've tried to look for errors in the code but
couldn't find any, the perlin noise code somehow is generating NaN values,
but it is getting sane inputs. I suspect this is due to the render module
being compiled with /arch:SSE and other parts not. For now I've made only
the render_raytrace module compile with SSE, which seems to solve the problem,
but is mostly a workaround.
Bugfix: free_imbuf_seq() was closing IMB anim handles on nearly every
change of RNA variables. This can be *very* slow, if you twiddle with
parameters during playback. Especially multicam editing...
Now: we close IMB anim handles only on refresh_all() and filepath
changes.
This commit and other commits attempting to fix it broke various things. The
main thing that changed was that instead of computing children/paths in
advance as part of particle_system_update, this was moved to do it just before
drawing or rendering. I've changed back that behavior and tried to keep the
other fixes in the commit.
When the new particle system was just committed, it also worked this way but
gave various problems, and I had to remove that behavior to get things working
stable. Basically it meant that you could get have a path cache that was
outdated in various situations, and it doesn't fit well with dependency graph
evaluation order.
This fixes:
#22823: Children Particle Rendering is broken
#22733: Particle objects not displayed
#22888: SigSegV when rending hair particles
#22820: Another SigSegV when undo adding hairs in particel edit mode
Some particle setups in dupligroups.
The three bugs that the original commit fixed are now also still working in
my tests:
#21316: Hair weight drawing is wrong
#21923: Consistent Crash When Rendering Particle Scene.
#21950: Path rendering option for particles causes crash
Fix#21187: 2.5svn26947 - particles + meta sphere = crash in rendering
Use separated displists for mballs in view3d and render stuff.
Do not recalculate displist for view3d while rendering - mball.c
uses several global variables which shouldn't be accepted from
parallel threads.
* Fractional frames support has been changed to use a new var, scene->r.subframe.
This is a 0.0-1.0 float representing a subframe interval, used in generating a final float
frame number to evaluate animation system etc.
* Changed frame_to_float() and some instances of bsystem_time() into a convenience function:
float BKE_curframe(scene) which retrieves the floating point current frame, after subframe
and frame length corrections.
* Removed blur_offs and field_offs globals. These are now stored in render, used to
generate a scene->r.subframe before render database processing.
by default now on all platforms since it shouldn't crash anymore if SSE is
not there. If this breaks compilation on some platforms, please let me know.
* Enabled premultiplication for packed images
* Added pack/unpack operator to image template
* Moved brightness/contrast corrections to after de-premultiplication in image texture sampling
- on instances last hit optimization was jumping to the last hit face
inside an instance without doing space transformation.
Fixed by making last hit optimization jump to the root node of the instance
instead of the last hit face.
* Path drawing now works for non hair particles.
* Should fix the following bugs too:
[#21316] Hair weight drawing is wrong
[#21923] Consistent Crash When Rendering Particle Scene.
[#21950] Path rendering option for particles causes crash