Age | Commit message (Collapse) | Author |
|
|
|
enabled outputs until script is finished
|
|
It was possible to have missing outlink but GPUNodes in material.
|
|
Missing linking code in blenloader.
|
|
Also correct typo.
|
|
Report popups simply reuse popup menu code, so their blocks got "UI_popup_menu_begin" assigned as name, which was a bit misleading. Now uses "UI_popup_menu_reports".
Ideally they'd have their own popup code.
|
|
Commit rB709ca0ece changed how rotation was handled for particles so
that unless actual rotation physics is enabled, there is no rotation.
However it only updated ptcache_particle_read, forgetting to change
exactly the same code in ptcache_particle_interpolate.
This means that for subframes old code that computes a rotation from
velocity is used, resulting in completely different rotation than for
integer frames. This causes rotational motion blur by itself, and also
mangles motion blur paths of child particles.
Reviewers: sergey, lukastoenne
Maniphest Tasks: T45936
Differential Revision: https://developer.blender.org/D2124
|
|
For now use 'brute force' and refresh whole UI when new icons get rendered.
See comment of T48813 for ideas about how to handle that in future (2.8 project ?).
|
|
Drivers or constraints referencing self object could break deletion of proxy objects
(due to their ambiguous, half-local, half-linked status).
|
|
Make the operator consistent with animation dopesheet now.
|
|
Fixes bug which resulted in making it so layers from all
layers are getting updated.
Reported by Juan Pablo Bouza.
|
|
|
|
Re-fitting makes better use of more samples.
|
|
|
|
BKE_id_copy_ensure_local function.
|
|
|
|
|
|
|
|
|
|
|
|
This is an alternative method for fitting a curve which incrementally simplifies the curve, then re-fits.
Generally gives better results, also improves corner detection.
|
|
We need to leave tweak mode before trying to modifiy the action as doing
so will leave Blender in a semi-corrupted state.
Reviewers: #animation
Reviewed by: aligorith
Maniphest Tasks: T48397
Differential Revision: https://developer.blender.org/D2119
|
|
3D view
There was a misusage of the `outcol` and `texcol` params. The actual
formula should have been:
incol = facm * outcol + fact * ((one - outcol) * texcol * outcol +
outcol * scr);
To make sure the result is consistent with material mode, reuse the
material blend function (mix_soft), similarly to what most other texture
blend modes do.
|
|
|
|
|
|
Suspicious conditional found by PVS-Studio T48917
Original code (from Blender’s initial open-source commit!) looks like
it’s testing inputs to atan2f, to avoid undefined function values.
Passing xn=0 does *not* always evaluate to 0 though… I’m not sure if
this is a coding error or was done for a desired visual result.
Also changed xn==0 to xn>=0 to avoid function call in more cases.
Good description and visualization of atan2f function:
http://en.cppreference.com/w/c/numeric/math/atan2
|
|
|
|
Missing NULL checks caused crash in BKE_reportf formatting.
|
|
|
|
|
|
|
|
|
|
Redundant conditional (line 939) found with PVS-Studio T48917
There’s still a lot of true/false, 1/0, SELECT/DESELECT usage nearby.
Not a problem, just confusing to read.
|
|
Checking a condition right after we’ve checked it (and it hasn’t
changed). Most of these are trivial to understand.
split_quads in convertblender.c:
It seems quads should be processed and triangles should be marked as
not needing split. So I removed the outer vlr->v4 check.
Found with PVS-Studio T48917
|
|
Also resolves: T34294
|
|
Assigning within a conditional is confusing and error prone so I
rewrote in a more straightforward way.
Found with PVS-Studio T48917
|
|
Found with PVS-Studio T48917
|
|
Found with PVS-Studio T48917
|
|
Some of these check that dimensions match before running code that
assumes they do match.
For imb_stereo3d_write_anaglyph I *assume* this change reflects the
intended behavior. Before it was always grabbing alpha from buffer 0.
Found with PVS-Studio T48917
|
|
|
|
|
|
Check to ensure we do not delete last instancing of an indirectly used object (forbidden
because it creates 'ghost' objects user have no real way to re-instance) was defeated by
the backward pointer 'proxy_from', which generated a 'false' indirect usage of (local)
proxy object itself (the one we are trying to delete).
Fixed by actually considering that ID usage as local if proxy object itself is local
(because that pointer actually does not 'pertain' to the object holding it, but to its proxy).
Yeah, it's... complicated, twisted and ugly - it's proxy.
|
|
(A - A).norm() is always 0 so condition is always true.
(A - B).norm() and (B - A).norm() both compute the same distance so I
picked one to match surrounding code.
Found with PVS-Studio T48917
|
|
`ray_is_normalized` == true in DerivedMesh
|
|
|
|
|
|
I don’t think any other codec enum makes sense here, so probably just
an extra copy/paste. Here are the video codecs:
AV_CODEC_ID_NONE
AV_CODEC_ID_MPEG4
AV_CODEC_ID_MJPEG
AV_CODEC_ID_DNXHD
AV_CODEC_ID_MPEG2VIDEO
AV_CODEC_ID_MPEG1VIDEO
AV_CODEC_ID_DVVIDEO
AV_CODEC_ID_THEORA
AV_CODEC_ID_PNG <— alpha
AV_CODEC_ID_QTRLE <— alpha
AV_CODEC_ID_FFV1 <— alpha (if enabled)
AV_CODEC_ID_HUFFYUV <— alpha
AV_CODEC_ID_H264
AV_CODEC_ID_FLV1
Found with PVS-Studio T48917
|
|
Also renamed BKE_mesh_calc_islands_loop_poly_uv to BKE_mesh_calc_islands_loop_poly_edgeseam,
to avoid confusion...
|
|
Maps edges to all their pair of loops.
|
|
|