Revision d8a8f69 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Move object culling helper to own files This is a stand-alone logic, which becomes quite comprehensive now. |
Revision 893aa1c by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Fix indendation |
Revision 166b6c9 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Consider GGX/Beckmann/Ashikhmin of 0 roughness a singular ray This matches behavior of Multiscatter GGX and could become handy later on when/if we decide it would be beneficial to replace on closure with another. Reviewers: lukasstockner97, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D2413 |
Revision 14e7ac9 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Tweak curve segment (un)pack to handle more curve segments There was 16 bits reserved for primitive type, while we only need 4. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D2401 |
Revision 5030854 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Cleanup, variable names Use underscore again and also solve confusing part then in BVH smae thing is called prim_addr but in intersection funcitons it was called triAddr. |
Revision b8fc22f by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Cleanup, variables names Use underscore instead of camel case. |
Revision 5edef96 by Ray molenkamp / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Land D2339 by bliblu bli |
Revision e4b67e7 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles :Cleanup, indentation |
Revision d546f66 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Fix emissive volumes generates unexpected fireflies around intersections Discard the whole volume stack on the last bounce (but keep world volume if present). Volumes are expected to be closed manifol meshes, meaning if ray entered the volume there should be an intersection event of ray exisintg the volume. Case when ray hit nothing and there are still non-world volumes in the stack can happen in either of cases. 1. Mesh is not closed manifold. Such configurations are not really supported anyway and should not be used. Previous code would have consider the infinite length of the ray to sample across, so render result wasn't really correct anyway. 2. Exit intersection is more far away than the camera far clip distance. This case also will behave differently now, but previously it wasn't really correct either, so it's not like we're breaking something which was working as expected. 3. We missed exit event due to intersection precision issues. This is exact the case which this patch fixes and avoid fireflies. 4. Volume has Camera only visibility (all the rest visibility is set to off) This is what could be considered a regression but could be solved quite easily by checking volume stack's objects flags and keep entries which doesn't have Volume Scatter visibility (or even better: ensure Volume Scatter visibility for objects with volume closure), Fixes T46108: Cycles - Overlapping emissive volumes generates unexpected bright hotspots around the intersection Also fixes fireflies appearing on the edges of cube with emissive volue. Reviewers: juicyfruit, brecht Reviewed By: brecht Maniphest Tasks: T46108 Differential Revision: https://developer.blender.org/D2212 |
Revision f2677a5 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Implement AVX2 path for curve intersection functions Gives little performance improvement on Linux and gives up to 2% speedup on koro.blend on Windows. Inspired by Maxym Dmytrychenko, thanks! |
Revision 7e5af7a by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Add AVX intrinsics helpers They are defined for MSVC but seems to be missing in GCC and CLang-3.8. Maybe some further tweaks to policy when to define those functions is needed, but should be fine for now. |
Revision 6df6f8c by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Disable AVX2 crash workarounds I can no longer reproduce crash with neither of the files where the crash was originally visible. This is something where other changes (light threshold, sampling) had an effect and made code to work as it is supposed to. Could have been optimizator issue or something like that. Let's see if we hit same issue again. |
Revision a3ef4c1 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Fix T50116: Light threshold broke branched path tracer In fact, the issue was caused by light threshold being too high for certain scenes. Lowered it down to 0.01. |
Revision dd156f7 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Refactor Progress system to provide better estimates The Progress system in Cycles had two limitations so far: - It just counted tiles, but ignored their size. For example, when rendering a 600x500 image with 512x512 tiles, the right 88x500 tile would count for 50% of the progress, although it only covers 15% of the image. - Scene update time was incorrectly counted as rendering time - therefore, the remaining time started very long and gradually decreased. This patch fixes both problems: First of all, the Progress now has a function to ignore time spans, and that is used to ignore scene update time. The larger change is the tile size: Instead of counting samples per tile, so that the final value is num_samples*num_tiles, the code now counts every sample for every pixel, so that the final value is num_samples*num_pixels. Along with that, some unused variables were removed from the Progress and Session classes. Reviewers: brecht, sergey, #cycles Subscribers: brecht, candreacchio, sergey Differential Revision: https://developer.blender.org/D2214 |
Revision 5aede15 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Fix correlation issues in certain cases There were two cases where correlation issues were obvious: - File from T38710 was giving issues in 2.78a again - File from T50116 was having totally different shadow between sample 1 and sample 32. Use some more simplified version of CMJ hash which seems to give nice randomized value which solves the correlation. This commit will break all unit test files, but it's a bug fix so perhaps OK to commit this. This also fixes T41143: Sobol gives nonuniform noise Proper science paper about hash function is coming. Reviewers: brecht Reviewed By: brecht Subscribers: lukasstockner97 Differential Revision: https://developer.blender.org/D2385 |
Revision 5596f97 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Fix T50075: Assert during debug render of hair_geom_transmission.blend |
Revision 921e45d by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Pass extra array size argument to builtin image pixels functions This is a way to avoid possible memory corruption when render threads works in parallel with UI thread. Not guarantees complete safe, but makes things easier to check anyway. |
Revision d2affb1 by Ray molenkamp / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Fix T50104, Race condition in SVMShaderManager::device_update_shader |
Revision c3fd2b9 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
Cycles: Avoid divisions by zero in volume sampling code Was giving huge artifacts in the barber shop file here in the studio, Maybe not fully optimal solution, but committing it for now to have closer look later. |
Revision c61e68f by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:26 (GMT) |
|