* Reviewed and improved the linear resampler. Now it should work pretty good also for special cases that caused errors previously.
* Fixed a crash in the GE when a sound actuator doesn't have a sound assigned.
* Corrected the OpenAL device's threading code. This is a bugfix for #27913, thanks to Juha Mäki-Kanto for helping to resolve this.
* Surface bake data is no longer recalculated every frame, but only when surface mesh has moved/transformed. Results in multiple times better performance on high resolution surfaces when using sub-steps or surface is still.
* Heavily optimized particle brushes when random particle size enabled. Up to 10x speedup with large radius particles.
* Added an additional "grid" space partitioning structure for surfaces.
* Added bounding box checks for brushes.
* Smaller overall optimization.
* Further OpenMP parallelization.
* Added physics tab link to modifier panel.
* Fix: "Point Density" texture cache wasn't properly updated. Brushes can now use Point Density textures as well.
* Fix: Paint dissolve resulted in black color.
* Fix: KD-tree checkups weren't completely thread safe. Fixes possible crash with OpenMP enabled particle brushes.
* Fix: When brush was set to use a specific material, it was saved incorrectly and resulted in potential crashes on next load.
- Intersection code was using undefined vector
caused wrong lines to be picked
- Code now also copes with hidden sockets.
If all fails, is just unhides a good socket.
On dragging a non-connected node on a noodle, it will insert it.
Functionality tweaks are possible, but it already feels non-intrusive.
Rules:
- Insertion only when a single noodle is intersecting with node.
- Default connects first matching socket type.
- If no socket match, it connects the first.
Recoded side-chain reparenting step to fix (as far as I've been able
to tell) infinite looping problems which were a bit intermittent here
using the test file. The fix here involves some tighter checks to
prevent corrupting the parenting of bones in the run of bones being
merged but also of any ancestors of those.
Paste pose no longer just does a blind "replace all properties" on
bones that it pastes on. Instead:
* when properties exist on the target already - only change the
properties in common
* when properties don't already exist - copy all properties
Time-scale drawing wasn't respecting the time unit setting.
While working on this, I tried to tweak the grid drawing to a more
common setting. It's hardcoded to show lines at every 25 px = once
every 25 frames, which is only really fine when FPS=25. Anyways, this
works fine enough for the sequencer for now in general usage.
functions based on editor types
This could be split up further in future if there's such a need, but
this should already be sufficient. Most notably required since the NLA
recalc stuff was taking quite a few lines within that block
Blender render optimizes alpha=0 materials away, unless it has
a number of properties... but there wasn't a check for material
being ray-mirror, it then should be rendered always.
[#28032] Python Mathutils: Matrix Multiplication Error
Since they ended up reversing the order we better keep old code unless its proven to be incorrect.
also change Matrix.__repr__ function args to evaluate correctly (need to be inside a tuple).
From what I can tell there is no good fix for this bug, calculating the 2d/3d viewborder and then attempting to align them to be pixel perfect fails because of float imprecision.
Added a workaround, so the camera border is always drawn in 2d space,
since this workaround may cause problems later on its kept under the define VIEW3D_CAMERA_BORDER_HACK so we can get old behavior back easily.
Generated images would not be re-generated with a float buffer on load, even when selected on creation.
Now save the float buffer setting as a generated image flag.
This means you can enable before baking to enable baking to a float buffer.
rendering, to prevent any race condition problems
I've noticed some weird and random crashes recently while rendering,
which I suspect have been arising from having an Action Editor open
while rendering. Previously only the timeline was patched against
these problems, though the issues may be more widespread. Hence,
solving this problem at the root cause instead.
Normalize, Normalize All, Invert, Clean, and Levels.
Face mask and vertex select/mask are now mutually exclusive options.
Went ahead and allowed vertex selection support and masking for vertex paint.
Issue was that the Shader tree execution changed the ShaderInput.
Changes are that the UI is updated that only the main material will have the pass_index this is displayed in the "render pipeline options" panel.
When the material is not a node material the pass_index will be shown at the "options" panel
To test enable nodes on the material
Add a new input material
change the pass_index of the material (render pipeline options)
Enable RenderPass material ID and use the compositor to read out the material pass
Jeroen