Issue is caused by scaling for power of 2 dimensions and mipmapping that happens through GLU. It looks like the library cannot handle float colour values above 1.0 correctly. Since we are close to release I will just clamp the srgb result for now even though it will result in a small performance loss for 16 bit textures only.
I tried a few things before that, glGenerateMipmaps + no scaling (supported for 2.0 GL hardware and up), or using our own scaling instead of glu among them which worked very nicely and gave a speedup too. However, since we are close to release and there may be issues with GPU mipmap generation, see:
http://www.gamedev.net/topic/495747-another-glgeneratemipmap-question/
(old discussion but better be sure than sorry)
I went for the most compatible solution. Maybe after release this can be tested if other devs agree.
* Exploded faces that were meant to be hidden were still created with invalid vertices (0,0,0,0).
* In normal cases this went unnoticed, but for example edge split modifier crashed when it encountered these faces.
Issue was caused by making and loading editMesh in drop_named_image_invoke,
which lead to freeing/changing pointers used by CustomData layers. Some of
this pointers might be used by DerivedMesh, so we need to update DerivedMesh
after loading EditMesh.
* Hair particle rotations weren't calculated properly for particle locations along a path and the "particle on path" calculations were not correct in many other ways too.
* Now the particle's location along a path is interpolated directly from the cached paths if it exist. These paths are always correctly calculated.
* Paths are now cached if a particle instance modifier using the particle system with the path option exists.
Problem was in how file selector is called by the effect_strip_add operator invoke. WM_operator_filesel() is not suited, as it directly calls exec if filepath is already set, and sequencer_generic_invoke_xy__internal() will set that path unless otherwise told. So using rather the same way to do as the one used by the other "strip_add" operators...
Issue was caused by not enough threshold limit used for removing doubles.
Switched to adoptive threshold value calculation based on smallest length
of segments in meridians and parallels.
Select Linked operator was setting Limit by Seams property automatically
depending on current selection mode. But this property only used to be
set to truth if selection mode is set to Face, in other cases this property
is being reused from previous operator run. This leads to incorrect
behavior of selecting linked in vertex mode after this operator was
used in face selection mode.
with material ambient zero broke backwards compatibility too much. The behavior
to have ambient zero affect things even if it is not used as a factor does not
make much sense but keeps things compatible. Now instead fixed the use of
uninitialized memory.
Most part of this commit fixes issues with FFmpeg output with
currently supported codecs:
- avcodec_encode_video might return zero which doesn't mean error
happened, but blender will handle this as error and will stop
rendering to video file.
- Changing output video codec wouldn't update "expert" options
set for video output which leads to some sideeffects like
ignored Lossless option for x264 codec.
This fixes allowed to add QTRLE codec easily.
In fact all list templates used to block mouse scroll. It's because mouse
scrolls list's scroll bar. But mouse scroll also used to be "eaten" even
if there's no scroll in list template.
This commit makes scroll even be ignored by list templates if there's
no scroll bar on list.
The "plural" name for ID_KE was wrong in idcode.c (bke), not matching the MainCollectionDef one used in rna_main.c.
Checked the others too, everything seems ok now.
Issue was caused by transformation tools weren't taking metastrip clips into
account, so strip inside of merastrips are placedon different from metastrip side
of time cursor, extension happened in unexcpected way.
Issue was caused because of missed MDeformVert layer on subdivided cube.
If regular object is constrained to mesh object, extra customdata mask
is adding to such target. But armature bones are handling separately
and there was no such thing happens.
Ideally this code should be deduplicated to avoid such kind of issues,
but better not to do it so close before release.
Select Edge Rings with extension policy wasn't working properly in
face selection mode because it's used to call Select Loop operator
because edge rings can be selected only in verts/edges mode.
On this call of another operator extension policy wasn't set to
newly calling operator.
Now Select Edge Rings still calls Select Loops (which is a bit nasty)
but properly sets extension flag.