Age | Commit message (Collapse) | Author |
|
Unnecessary limit was applied.
|
|
|
|
The issue was caused by SSS intersection code gathering all
intersections without check for duplicated ones. This caused
situations when same intersection will be recorded twice in
the case if triangle is shared by several BVH nodes.
Usually this is handled by checking intersection distance
after sorting intersections (in shadow_blocked for example)
but for SSS we don't do such sorting and using number of
intersections to calculate various things.
Didn't find anything smarter than to check intersection
distance in triangle_intersect_subsurface().
This solves render artifacts in the cost of 1.5% slowdown
of extreme case rendering (SSS object filling in whole
FullHD screen).
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D2105
|
|
|
|
- Since element size its known it's less work to do inline.
- In test with high-poly model, gave ~9% overall speedup for decimate modifier.
|
|
|
|
- In fresnel_dielectric, the differentials calculation sometimes divided by zero.
- When the normal map was (0.5, 0.5, 0.5), the code would try to normalize a zero vector. Now, it just uses the regular normal as a fallback.
- The approximate error function used in Beckmann sampling sometimes overflowed to inf while calculating r^16. The final value is 1 - 1/r^16, however,
so now it just returns 1 if the computation would overflow otherwise.
|
|
Also, this fixes a numerical issue where A would be inf.
Since later G is set to 1 if A is larger than 1.6, the code now checks the reciprocal of A for being smaller than 1/1.6 - same effect, but no inf involved.
|
|
|
|
|
|
|
|
also changes the name of the callbacks:
- walk_parent_snap_project_cb to cb_walk_parent_snap_project;
- cb_leaf_snap_vert to cb_walk_leaf_snap_vert;
- cb_leaf_snap_edge to cb_walk_leaf_snap_edge;
- test_vert_depth_cb to test_vert_ray_dist_cb;
- test_edge_depth_cb to test_edge_ray_dist_cb;
and cleanup:
|
|
Was causing CUDA issues on viewport edits.
|
|
Number buttons & sliders weren't updating when shift/ctrl were pressed.
Note that this is a regression in 2.77 but hard to track down since it worked unreliably for some time.
|
|
This commit contains all the changes required for most optimal maximum threads
number bump. This is needed to avoid possibly unneeded initialization or data
allocation on systems with lower threads count.
TODO: Still need to review arrays in render data structures from render_types.h,
P.S. We might remove actual bump of max threads from this patch, so when we'll
be applying the patch we can do all the preparation work and then do actual
bump of max threads.
Reviewers: mont29, campbellbarton
Reviewed By: mont29, campbellbarton
Maniphest Tasks: T43306
Differential Revision: https://developer.blender.org/D1343
|
|
While it's an extra option added to the interface which might not be
fully obvious for artists, it allows to save up to 20% of memory in
hairy scenes.
This is high enough memory saver in my opinion which might become
handy for some production files where it's more important to make
scene to fit into memory rather than trying to use more optimal BVH
structure but go into swap or crash.
Reviewers: dingto, brecht
Reviewed By: dingto, brecht
Differential Revision: https://developer.blender.org/D2090
|
|
with some small modifications
|
|
using transparent with opaque=A_ONE
|
|
|
|
|
|
Often its not needed, setting correctly takes some extra calculation - so allow for it to be left unset.
|
|
Don't do ray-casts from the view unless cursor coords are passed.
|
|
Allows to set the projection as none,
to make it more obvious when we don't want to handle viewport projections in some cases.
|
|
|
|
|
|
|
|
D1963 by @wisaac, re-worked to de-duplicate logic
|
|
D2035 by @jside, extended to support mixing single images and sequences in the one selection.
|
|
D2067 by @mangostaniko
|
|
D2093 by @Blendify
|
|
D2096 by @chadf
Unused, copy-paste error.
|
|
Obscure regression in own commit from b34929786.
While this could be considered correct, it introduces a crash so disable the update call.
|
|
|
|
with some slight changes)
|
|
|
|
|
|
made local.
Previous commits now allow to use id_make_local() here, as one would expect.
Note that I also checked T36003 case, working fine as well with new code.
|
|
Datablocks' nodetree are *never* in main, while shapekeys are...
|
|
make_local process.
|
|
Also, no need to set ntree->id.lib to NULL after BKE_libblock_copy_nolib(),
generic datablock copy function always make copy local.
|
|
Those data blocks are never shared, exactly as with shapekeys, much simpler
to also clear their lib_data (especially since they have no user!).
|
|
This function was only a wrapper around id_clear_lib_data(), and shapekeys
are not linkable nor shareable anyway, no point keeping this currently,
was only adding confusion about shapekey 'status' as a datatblock.
|
|
used locally.
Will be used by link/append code.
|
|
Switch from a fixed stack to a linked list,
since guessing the maximum possible size may fail with invalid/overlapping strips.
|
|
This is intended for utilities to help with development,
which aren't needed for building.
See https://wiki.blender.org/index.php/Dev:Doc/Tools/Blender_Tools_Repo for details
|
|
|
|
|
|
Many checks for out->rect_float being [non-]NULL are done back-to-back.
Combining them into a single check for slightly more efficient code and
less code clutter for easier readability/understanding.
Differential Revision: https://developer.blender.org/D2097
|
|
And use __func__ macro.
|
|
|