Revision 67704cb by Sergey Sharybin March 13, 2020, 15:15 (GMT) |
Multires: Fix loosing sculpt data when using external BTX file |
Revision 6bcb6a0 by Dalai Felinto March 13, 2020, 15:07 (GMT) |
Revision be76a37 by Antonio Vazquez March 13, 2020, 14:50 (GMT) |
GPencil: Fix UI typo |
Revision 5593efe by Dalai Felinto March 13, 2020, 14:40 (GMT) |
Fix stereoscopy drawing for camera background Part of the fix was to get gputexture to use an array to accomodate each eye. This takes care of viewports showing individual Left or Right views. For the combined view the fix was in overlay_image.c:camera_background_images_stereo_setup. Note 1: Referece images are still not supporting stereo. Note 2: For painting, and getting image bindcode I'm hardcording a single-view experience. Note 3: Without D6922 stereo is too broken to even test this patch. With D6922 + this patch the fullscreen modes work (anaglyph/interlace not yet). Differential Revision: D7143 |
Revision 93ac470 by Sebastián Barschkis March 13, 2020, 14:34 (GMT) |
Fluid: Potential fix for Eevee tests crashing with Mantaflow Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a92987f). There is still a memory leak to be fixed though. |
Revision 525bd62 by Bastien Montagne March 13, 2020, 13:37 (GMT) |
Potential fix for T74609: File Selector Crashes Showing Thumbnails. Existing code was definitively giving possibility to access freed memory, although probably not on a super-common basis... |
Revision bc0a0cd by Sergey Sharybin March 13, 2020, 13:14 (GMT) |
Multires: Fix Subdivide, Reshape and Apply Base This change fixes artifacts produced by these operations. On a technical aspect this is done by porting all of the operations to the new subdivision surface implementation which ensures that tangent space used to evaluate modifier and those operations is exactly the same (before modifier will use new code and the operations will still use an old one). The next step is to get sculpting on a non-top level to work, and that actually requires fixes in the undo system. |
Revision b0a1af4 by Sergey Sharybin March 13, 2020, 13:13 (GMT) |
Multires: Increase default quality to 4 Makes it work better "out of the box" for irregular topology like Suzanne mesh. There might be some performance impact on non-regular meshes, but those are not very common usecase for multires and for those its always possible to lower the quality if needed. |
Revision f36d98b by Sergey Sharybin March 13, 2020, 13:07 (GMT) |
Subdiv: Fix loose geometry callbacks in certain conditions Loose vertices and vertices of loose edges callback was not working correct if some of other callbacks were set to NULL. Was caused by missing bitmask set in the callbacks which were set to NULL. |
Revision 8622372 by Sergey Sharybin March 13, 2020, 13:07 (GMT) |
OpenSubdiv: Make non-full geometry less strict for sharpness Allow to mark individual vertices as infinitely sharp even if there is no full topology and no access to edges: infinite sharp vertices do not need connectivity information. |
Revision 48e0af5 by Antonio Vazquez March 13, 2020, 12:08 (GMT) |
GPencil: Fix typo error |
Revision 4326d16 by Antonio Vazquez March 13, 2020, 12:06 (GMT) |
GPencil: Enable Lights ON to default object in 2D template |
March 13, 2020, 11:59 (GMT) |
Python: add foreach_get and foreach_set methods to pyrna_prop_array This allows fast access to various arrays in the Python API. Most notably, `image.pixels` can be accessed much more efficiently now. **Benchmark** Below are the results of a benchmark that compares different ways to set/get all pixel values. I do the tests on 2048x2048 rgba images. The benchmark tests the following dimensions: - Byte vs. float per color channel - Python list vs. numpy array containing floats - `foreach_set` (new) vs. `image.pixels = ...` (old) ``` Pixel amount: 2048 * 2048 = 4.194.304 Byte buffer size: 16.8 mb Float buffer size: 67.1 mb Set pixel colors: byte - new - list: 271 ms byte - new - buffer: 29 ms byte - old - list: 350 ms byte - old - buffer: 2900 ms float - new - list: 249 ms float - new - buffer: 8 ms float - old - list: 330 ms float - old - buffer: 2880 ms Get pixel colors: byte - list: 128 ms byte - buffer: 9 ms float - list: 125 ms float - buffer: 8 ms ``` **Observations** The best set and get speed can be achieved with buffers and a float image, at the cost of higher memory consumption. Furthermore, using buffers when using `pixels = ...` is incredibly slow, because it is not optimized. Optimizing this is possible, but might not be trivial (there were multiple attempts afaik). Float images are faster due to overhead introduced by the api for byte images. If I profiled it correctly, a lot of time is spend in the `[0, 1] -> {0, ..., 255}` conversion. The functions doing that conversion is `unit_float_to_uchar_clamp`. While I have an idea on how it can be optimized, I do not know if it can be done without changing its functionality slightly. Performance wise the best solution would be to not do this conversion at all and accept byte input from the api user directly, but that seems to be a more involved task as well. Differential Revision: https://developer.blender.org/D7053 Reviewers: JacquesLucke, mont29 |
Revision db4298c by Antonio Vazquez March 13, 2020, 11:57 (GMT) |
GPencil: Avoid segment fault when use Simplify modifier The number of points of the evaluated stroke can be less than original or the original can use less points that evaluated. |
Revision cb19bb7 by Sybren A. Stüvel March 13, 2020, 11:34 (GMT) |
Cleanup: USD, removed unused export job data The code was copied from the Alembic exporter, and some of the options are no longer used. Not updating the Alembic exporter itself, as this will be done in a much larger rewrite. |
Revision cf9b331 by Antonio Vazquez March 13, 2020, 11:24 (GMT) |
GPencil: Fix Noise modifier versioning The versioning was setting the factor for all modes without checking flags. Also cleanup some unused code. |
Revision 91ca3c3 by Antonio Vazquez March 13, 2020, 11:07 (GMT) |
Revision 1ca582c by Brecht Van Lommel March 13, 2020, 11:06 (GMT) |
Fix IDTypeInfo not having enough bits for ID filter flag |
Revision 3652870 by Antonio Vazquez March 13, 2020, 10:16 (GMT) |
GPencil: Cleanup unneeded check |
Revision de9c7ba by Antonio Vazquez March 13, 2020, 09:28 (GMT) |
GPencil: Join Tint and Vertex Color modifier Both are doing almost the same and can be merged. This reduce complexity for user and less code to maintain. Reviewed By: mendio, pepeland, fclem Differential Revision: https://developer.blender.org/D7134 |
|