Posts by ChameleonScales

1) Message boards : Client : Cycles Denoising on split frames (Message 15336)
Posted 2 Jan 2018 by Profile ChameleonScales
This would certainly be visible on non-denoised frames with low enough sample values, but I think the denoiser makes things different, because the artifacts of a denoised image are much more complex than the sampling noise. Although averaging may produce a cleaner image in some cases, it would only do it to a very limited point, contrarily to the sampling noise which can be cleaned indefinitely.

At least my render tests so far don't seem to show this "less noisy" areas in the margins, but we should do some render tests on averaging denoised images to see how the cleaning compares with the non-denoised averaged renders.

However, the margin's size would undoubtedly have to be more thought out and made dependent on the denoiser's parameters, especially the Denoising Radius.
2) Message boards : Client : Cycles Denoising on split frames (Message 15328)
Posted 25 Dec 2017 by Profile ChameleonScales
so what did you mean by nondeterministic ?
3) Message boards : Client : Cycles Denoising on split frames (Message 15322)
Posted 16 Dec 2017 by Profile ChameleonScales
About the 4 pixel margin, to be more precise,it's 4 vertically and 4 * aspect ratio horizontally, since getting a 4 px margin on both dimensions would've been much trickier to do with my method.

About the sampling, not sure what you mean by nondeterministic, since from my undestanding, sobol and correlated multi-jitter are both deterministic and there's no 3rd option.
4) Message boards : Client : Cycles Denoising on split frames (Message 15319)
Posted 14 Dec 2017 by Profile ChameleonScales
Allright, here is the 32 samples animation test.
One is split in 8x8 tiles with a 4 pixels margin and the other is not split.

Now let's play a game called "which is which" ?
(the numbers in the filenames and their order of appearance were randomly assigned)

https://mega.nz/#!0HAQHLrR!rOFNy2TiTOU3UmWu_eP5dhH4vIkgKr9J_7NW0yN5SA8

https://mega.nz/#!ZOBWGJhA!5ozo7H_vhT95YJh5wvpbfnOcpE5E30NFqMtzi9yGIlU
5) Message boards : Client : Cycles Denoising on split frames (Message 15317)
Posted 12 Dec 2017 by Profile ChameleonScales
Here are 2 animation tests in lossless video encoding. I didn't do the displaced SSS plane in 32 samples with blended margins like you suggest yet but I will do it and post the result.

These don't have any blended margins. Just regular tiles with denoising enabled :


6) Message boards : Client : fetch render settings data for statistics ? (Message 15312)
Posted 11 Dec 2017 by Profile ChameleonScales
Thinking about it, this would only be relevant if people only used BURP for final renders and not all kinds of render tests, which is most likely not the case.
So, nevermind !
7) Message boards : Client : fetch render settings data for statistics ? (Message 15311)
Posted 10 Dec 2017 by Profile ChameleonScales
I think it would be interesting to have stats on what render settings are used the most in the farm, such as sampling amount and image resolution.

This could help orient the development of the client to fit better those used settings.

Or maybe there already are such statistics ?
8) Message boards : Client : Cycles Denoising on split frames (Message 15310)
Posted 10 Dec 2017 by Profile ChameleonScales
Ok, let me wipe the dust from my good old "Camera Cropper & Splitter" and show you what I'm talking about.

With it I just made some render tests on split frames with denoising enabled. I looked for noticeable seams caused by the tiling messing with the denoiser, in order to see if they can be erased with a small blended margin... or even if there is anything to be erased at the first place.

After several tests with different scenes and various render settings, I found that the most noticeable seams appear on the simplest and smoothest scenes and with the lowest amount of samples (which is not what the denoiser was made for, as The Pixelary pointed out). But if you found better test cases than I did, please tell me.

Here, a smooth displacement on a plane with SSS, at a staggering 32 samples, split in 64 tiles (8x8) :



The seams are pretty visible but at such a low sampling amount, the regular denoising artifacts are even more visible. This is a non-destructive PNG image and it looks like a badly compressed jpeg. Here's the non-split version if you want to compare (Tip : use Ctrl+Tab and Ctrl+Shift+Tab to switch between images in tabs in Firefox)

And as we increase the amount of samples, the seams disappear quickly. Here it is at 128 samples :



There's only one small seam remaining at the middle-top but the other regular denoising artifacts are still pretty visible anyway.
(non-split version for comparison)

Once we get to 256 samples (which is still quite low, as this non-denoised version shows), the seams are completely gone :



non-split version

And that's not even taking 2 things into account :
One, "the denoiser is really designed to help you get rid of that last bit of noise. You know, the noise that forces you to render at 10000 samples rather than 3000" (The Pixelary).
And two, splitting a frame is usually meant for a decent resolution. 64 tiles was voluntarily ridiculously high for a 1024*768px image, to get the most obvious artifacts.

So what about more complex scenes and higher resolutions you ask ?

Here's the classroom benchmark, in 1080p, at the default - but still low - 300 samples.
Seams are very, very hard to find already :




If we get to decent amount of samples and reasonable resolution for final renders, seams are just out of question, even in the craziest situations.
Here are a bunch of motion blurred SSS spheres inside of a volume scattering fog with spotlights, at a reasonable 2048 samples and 2048x2048 pixels. Good luck finding any seam, and the overall sampling isn't even that clean yet.



So before I even get to fixing the seams, for what concerns me, we could simply support denoising on split frames with no worries. Not to mention that as soon as someone would get seams, that someone would very quickly understand that denoising is to blame. Even more so if - at the very same place of the upload page where it says "If you split frames, denoising will be disabled" - there was, instead, a warning telling us we might get seams at low sample values and low resolutions.


But let's fix the problem completely and erase those seams, right?

Let's get back to the ugliest image, the displaced SSS plane at 32 samples and 1k resolution and let's add a 4px margin on each tile and blend those margins gradually between the combined tiles:



No surprise, the seams are gone. You can compare with the first and second images of my post to see the difference.

If you still don't agree that denoising could at least be simply enabled on split frames, I guess I'll have to go back to work on my old-school Camera splitter add-on and make it easier to use for everyone for that use-case, but I'd prefer not to have to, as it's not nearly as convenient as a built-in feature in the render farm, which I believe would also save a lot of render time and free many computers from long full-frame render tasks that might get cancelled before they get finished.
9) Message boards : Problems and Help : why does image embedding not support https ? (Message 15309)
Posted 10 Dec 2017 by Profile ChameleonScales
if I embed an image, I have to remove the "s" from https in order for it to display.

Here's an example :

with https:



with http :



Why isn't it supported ?
10) Message boards : Client : Cycles Denoising on split frames (Message 15308)
Posted 10 Dec 2017 by Profile ChameleonScales
please delete this post
11) Message boards : Client : Cycles Denoising on split frames (Message 15299)
Posted 20 Nov 2017 by Profile ChameleonScales
Ok but I was not talking about post-processing effects. Compositing locally is not a problem at all (as long as you download your frames in non destructive format, with high dynamic range and render passes).

What is problematic is the new denoiser in Blender 2.79.
This feature is not a post-processing feature, it's a rendering feature. You cannot use it after the render is done, it can only be used at render time.

For that reason, if we don't use some trick to prevent the seams, it can simply not be used on split frames, even locally after downloading the frames in EXR format.

However, contrarily to effects like blur which can vary drastically and unpredictably according to the values set in the nodes, denoising doesn't require much margin, provided that the artist used it the way it's supposed to be used, which is : remove the last bit of noise. Not smooth out a crazy noisy image.

Removing the last bit of noise with vs without the denoiser is a matter of going from 3K samples to 10K, which is a huge difference of render time (More on that here)

So if you use it correctly, you shouldn't need a margin bigger than a few pixels (like 4 or 5 per tile) to prevent seams.
12) Message boards : Client : Cycles Denoising on split frames (Message 15295)
Posted 20 Nov 2017 by Profile ChameleonScales
I have this idea for avoiding seams when denoising on split frames, which is to add a margin on each tile and blend the margins between tiles gradually when combining them.
It sounds crazy but I don't think there is a better way nor will ever be.


If it sounds impossible to do, I think it can be made possible this way :

- The renderfarm's software would only add the margins (expand the borders on each tile, except for the actual camera borders which is neither possible nor needed) and once the rendering is finished, provide the tiles as they are for download.
- the session page would provide a link to a blend file containing the node setup to use for combining the tiles, so the user could do the compositing on his local machine.

What do you think ?
Do you have another idea ?
13) Message boards : Client : Cycles Denoising on split frames (Message 15293)
Posted 20 Nov 2017 by Profile ChameleonScales
Sheep it has disabled denoising for split frames because it would produce seams on the edges of the tiles.
How does BURP handle that at the moment ?
14) Message boards : Client : 2.79 support ? (Message 15292)
Posted 20 Nov 2017 by Profile ChameleonScales
Thanks
15) Message boards : Client : 2.79 support ? (Message 15290)
Posted 19 Nov 2017 by Profile ChameleonScales
Is 2.79 supported ?
16) Message boards : Comments and discussion : 3380 (Message 15175)
Posted 11 Jul 2017 by Profile ChameleonScales
allright.
17) Message boards : Comments and discussion : 3380 (Message 15169)
Posted 9 Jul 2017 by Profile ChameleonScales
I selected exr as the output but forgot to also have ask for it to be enabled in the description.



I'll reupload it.
But why is the setting not kept otherwise ?
18) Message boards : Comments and discussion : 3380 (Message 15168)
Posted 8 Jul 2017 by Profile ChameleonScales
My small projects are always hanging at 95% for days while all the rest was done in a couple hours.
I must say this is pretty frustrating.
19) Message boards : Problems and Help : Fatal error: Too many unsubmitted sessions (Message 15166)
Posted 6 Jul 2017 by Profile ChameleonScales
Thank you !
20) Message boards : Problems and Help : Fatal error: Too many unsubmitted sessions (Message 15164)
Posted 6 Jul 2017 by Profile ChameleonScales
I uploaded a file and realized I had to change something before submitting it so I reuploaded it (I think twice).
Now when I try to upload the file an almost blank page appears with only the text :
Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke failed: [[c:Session]]->createNewSession((o:int)[o:Integer]). Cause: burp.domain.PermissionException: Too many unsubmitted sessions, please reuse a previous one or cancel them before creating new ones VM: 1.8.0_92@http://java.oracle.com/" at: #-30 burp.domain.Session.createNewSession(Session.java:502) #-29 sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) #-28 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) #-27 java.lang.reflect.Method.invoke(Method.java:498) #-26 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1044) #-25 php.java.bridge.Request.handleRequest(Request.java:417) #-24 php.java.bridge.Request.handleRequests(Request.java:500) #-23 php.java.bridge.JavaBridge.handleRequests(JavaBridge.java:150) #-22 php.java.servlet.RemoteHttpServletContextFactory.handleRequests(RemoteHttpServletContextFactory.java:262) #-21 burp.frontends.phpjavabridge.PHPJavaBridgeServlet.processRequest(PHPJavaBridgeServlet.jav in /mnt/hosting/www/burp_production/libraries/php-java-bridge/Java.inc on line 196


How do I "reuse a previous one or cancel them before creating new ones" ?

I couldn't find such an option anywhere.


Next 20