- User Since
- Dec 26 2013, 7:53 PM (178 w, 2 d)
Fri, May 26
Thu, May 25
Wed, May 24
Hm, this special handling for Combined->Image+Alpha is really a PITA...
Mon, May 22
I'd like to fix that, but this is just a basic tradeoff in the denoising algorithm - if you allow fairly different-looking areas to be combined, the result will be smooth. If you only use pixel blocks that look similar, you get nicer reflections etc., but since the denoiser can't use as much information, other areas are still a bit noisy.
Sun, May 21
Fixed with rB3bf69b26ef8c, thanks for the report.
Fixed with rB96769f3b199f, thanks for the report.
Sat, May 20
Fri, May 19
Fixed with rB4a04d7ae8930, thanks for the report.
Example scene (pointlamp over principled BSDF with specular=roughness=0.1):
Fixed with rBffd83a34ab53, thanks for the report.
Fixed with rB740cd287485d, thanks for the report.
Wed, May 17
Sounds fine if it doesn't cause a significant slowdown.
Releasing a fixed version of the scene would probably also be a good idea, this is the third "bug" caused by that HDR.
Tue, May 16
Hm, I never encountered that kind of problem before - what GPU are you using?
Yes, that is the same issue.
Mon, May 15
Hm, the native-only fix seems a bit hacky - device_cpu.cpp still contains references to the other kernels, I guess it still links fine because they are optimized out.
The fix I was looking into was just modifying kernel_cpu_impl.h to not include the kernel headers if KERNEL_STUB is defined. That way, you get quick compilation on the stub files but still have all the kernels exported.
But, well, the current change works, so I guess we can just keep it.
Sun, May 14
Outlier pixels are a problem for the denoiser currently.
Thu, May 11
Fixed with rB58a0c2754646, thanks for reporting.
Wed, May 10
I guess the two images are swapped? Anyways, I found the problem - the update code tried to update the nodetree of scene B, which doesn't have one. I guess I'll have to explicitly pass the nodetree that's supposed to be updated.
Mon, May 8
The behaviour was changed recently, now the number of finished tiles is reported. So, this is behaving as expected.
Sun, May 7
Sat, May 6
I definitely agree that deduplication of the basic blocks of the integrator are a good idea, it reduces the risk of overlooking one particular case when making changes.
Thu, May 4
Remapped adjusting options to 0..1.
Just a rebase, no real changes.
Moved the denoising properties into the Cycles addon and added an option to
store the denoising feature passes in the render result (only visible when
experimental features are enabled).
Just a rebase, no real changes.
Wed, May 3
Committed as part of rB4cf7fc3b3a4d.
Tue, May 2
Fri, Apr 28
Apr 26 2017
Updated to match the new D2443, used BLI_findstring and reordered parameters.
Thanks for the link, I just tried his tool and it seems to work reasonably well.
However, from what I can see so far, it doesn't perform as well as intern/cycles/app/cycles_dithering.cpp, the tool that's included in this patch.
The two main problems I see with it are:
- It just runs straight into the first local minimum because it doesn't do simulated annealing - it just rejects every swap that increases the total energy
- It recalculates the energy of the entire system after every swap, which is extremely wasteful - due to the local nature of the energy term used, only a handful of terms have to be recalculated. Doing so helps reducing the computational complexity a lot (my tool used to perform billions of swaps iirc, while his tool currently takes 30min to do 4096 iterations) as well as reducing numerical issues.
Addressed all review points, except for the separate device_vector.
It would definitely be nicer, but doing so would allocate the host memory again and the memory content would have to be copied onto the host (unless we change the device_vector to allow two vectors sharing the same host memory).
So, I'd love a clean way to get rid of the original_ptr trickery that doesn't allocate useless memory, but I don't really see one...
Apr 25 2017
Yes, that's a lot better, thanks for the suggestion!
Apr 24 2017
While in this case it is obvious that the result is always zero, the shader optimizer in Cycles has no real way of knowing that - Shaders are compiled independently of the objects in which they're used, so unfortunately per-object attributes can't be used for constant folding.
Apr 22 2017
Update the host code to reflect changes in the other parts (also fixes a couple of OpenCL bugs).
Moved the kernels back into kernel/.
The intuition back then was to have them as a separate complation unit to allow for faster development iteration, but that's of course also possible when they're inside kernel/, so it was kind of pointless.
Addressed most of the review.
Apr 19 2017
Apr 15 2017
Forgot to remove some changes while cherrypicking. Sorry for the noise :S
Forgot to commit the AO pass change.