Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 32

Thread: Normal and albedo second hit

  1. #16
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    I blended the bounced refracted and reflected normal and albedo (not textured)
    but this cost more than 7 seconds to get the result..

    Click image for larger version. 

Name:	blended_bounced_normal.jpg 
Views:	24 
Size:	115.1 KB 
ID:	146451

    Click image for larger version. 

Name:	blended_bounced_albedo.jpg 
Views:	28 
Size:	47.3 KB 
ID:	146452

    the Write Bounced Buffer node is added and connected to Material with a batch script,
    It works only with Material, not with Material Tools,

    Click image for larger version. 

Name:	write_Bounced_Buffer.jpg 
Views:	34 
Size:	87.8 KB 
ID:	146453

    it comes with 19 new bounced buffers, (4 x refracted + 2 x reflected) x (normal + albedo + mask),
    no way to reduce that, because a LW Buffer cannot be edited while rendering,

    Click image for larger version. 

Name:	bounced_buffers.jpg 
Views:	28 
Size:	100.2 KB 
ID:	146454

    blended in the Image Filter node editor with the Get Bounced Buffer node,

    Click image for larger version. 

Name:	Get_Bounced_Buffer.jpg 
Views:	31 
Size:	32.5 KB 
ID:	146455



    Denis.

  2. #17
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    I updated DP Filter 2018,
    added the WriteBouncedBuffer and GetBouncedBuffer nodes,
    you can download the Global Bounced Buffer python script just below on the DPFilter page.
    Description and usage on the readme file of the script.

    Not fully tested.


    Denis.

  3. #18
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    A note:
    once you add the write bounced buffer nodes with the script,
    setup the image filter node editor with the Get Bounced Buffer node and OIDN,
    you can limit or choose specific bounce manually in the Render/Buffer,
    by unchecking "Render" for some of them,
    but always keeping the matching Mask, like this:
    Bounced_T2_Normal + Bounced_T2_Albedo + Bounced_T2_Mask,

    In my example above, the ball has a front and back side so the background ball
    appears in transparency only at T2.

    By default, there is a double number of refracted bounces (4 against 2),
    because reflection of refraction is just another refraction.


    About the Get Bounced Buffer,
    you don't need to check Normal or Raw Color LWBuffers, neither Bounced Buffers in image node editor,
    this is done internally.

    Denis.
    Last edited by dpont; 12-18-2019 at 10:01 AM.

  4. #19
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    I changed the process in Write Bounced Buffer node,
    it is now inserted and connected to Material Root input.
    No more limitation in the surface Material setup,
    including Material Tools.

    Click image for larger version. 

Name:	new_Write_node.jpg 
Views:	30 
Size:	79.4 KB 
ID:	146467

    Available in the last DP Filter 2018,
    so the Global Bounced Buffer python script has been updated too, version 1.1


    Denis.

  5. #20
    Founding member raymondtrace's Avatar
    Join Date
    May 2003
    Location
    Ohio
    Posts
    1,150
    Quote Originally Posted by dpont View Post
    ...so the Global Bounced Buffer python script has been updated too, version 1.1...
    Many thanks for your work on this but the link on your site to the Global_Bounced_Buffer.zip file seems to go nowhere ("La page que vous demandez est introuvable").
    LW4, 7.5D, 2015, 2018, 2019, 2020 running portably on a USB drive on an Amiga 2500 running Wine.

  6. #21
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    Quote Originally Posted by raymondtrace View Post
    ...but the link on your site to the Global_Bounced_Buffer.zip file seems to go nowhere.
    I fixed the link, thanks for report.

    Denis.

  7. #22
    Registered User
    Join Date
    Mar 2018
    Location
    Perth, Australia
    Posts
    131
    Quote Originally Posted by dpont View Post
    I fixed the link, thanks for report.

    Denis.
    Hi Denis,

    I tried downloaden the Python script but I see it is still version 1.0 made on Dec 16th 2019. I had issues with cache in Chrome before so I tried to download the zip file in MS Edge but got the same thing. Could you quickly check?

    Also I reckon I need to add the Write Bounced Buffer node on every material in the scene right?

  8. #23
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    Quote Originally Posted by peebeearr View Post
    Hi Denis,

    I tried downloaden the Python script but I see it is still version 1.0 made on Dec 16th 2019. I had issues with cache in Chrome before so I tried to download the zip file in MS Edge but got the same thing. Could you quickly check?..?
    Yes, I missed totally this one, I just re-uploaded the 1.1 version of the script (12/20/19)


    ...Also I reckon I need to add the Write Bounced Buffer node on every material in the scene right?
    Running the script, adds the WriteBouncedBuffer node everywhere, but since the post process is a mix of first hit common normal and raw buffer,
    you can remove it from not refractive and not reflective materials, either not use the script and add the node manually on selective materials.

    You can also uncheck useless bounces in the Buffer list.

    Denis.

  9. #24
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    Quote Originally Posted by dpont View Post
    ...you can remove it from not refractive and not reflective materials...
    That's said, don't expect a faster process at the material evaluation level,
    slowness is much caused by the final GetBouncedBuffer node compositing of layer buffers,
    removing useless bounced buffers in the Buffer tab, is more efficient for that.

    Denis.

  10. #25
    Registered User
    Join Date
    Mar 2018
    Location
    Perth, Australia
    Posts
    131
    Hi Denis,

    Ive been experimenting a bit with it and here are a couple of things I noticed;

    - the special buffers are not in Linear colour space (at least in the image viewer)
    - unchecking buffers does not work. After unchecking unnecessary buffers and exitring that menu, they're all checked again when going back.
    - I'm not entirely certain how to combine the channels.... At present I use the standard mixer node for this (inputting FG and BG attributes with the main Normal channel and the Get Buffers Normal channel) and that seems to work.
    Click image for larger version. 

Name:	Mixer-get-buffer.jpg 
Views:	18 
Size:	179.0 KB 
ID:	146798

    - I see some specular coming through in the RAW COLOUR buffer that I think should not be there? Also there is some kind of gradient shading but that could be because of the fresnel of the glass.
    Click image for larger version. 

Name:	RAW-DP.jpg 
Views:	21 
Size:	186.5 KB 
ID:	146799
    Here is the RAW buffer without the extra buffers, ie straight from LW.
    Click image for larger version. 

Name:	RAW-NO-DP.jpg 
Views:	21 
Size:	46.5 KB 
ID:	146800

    But all in all I do think it is working. Here an examples of a setup with large glass walls surrounding an inner courtyard. You can clearly see the major difference in cleanup of everything that is obscured by the glass!
    Click image for larger version. 

Name:	OIDN-DP.jpg 
Views:	46 
Size:	307.6 KB 
ID:	146801
    Click image for larger version. 

Name:	OIDN-NO-DP.jpg 
Views:	41 
Size:	315.3 KB 
ID:	146802

  11. #26
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    Quote Originally Posted by peebeearr View Post
    Hi... I'm not entirely certain how to combine the channels....
    You don't need to mix buffers yourself, the GetBouncedBuffer does it internally,
    you plug directly its normal output and albedo output in the OIDN node.

    Denis.

  12. #27
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    I updated DP Filter 2018,
    found and fixed an issue in WriteBouncedBuffer node after saving Global buffers in Image Filter node editor.

    So now you can export Bounced Normal and Bounced Albedo as separate image files,
    -Enable "Global Buffer" in the Image Filter node editor panel.
    -Plug the Normal and Albedo outputs from GetBouncedBuffer node to Color 1 and Color 3.
    -Add the GetGlobalBuffer node, no need to plug it, open its panel,
    Enable Color 1 and Color 3, select the folder to save in, select an image file format.
    -Render.

    Click image for larger version. 

Name:	saving_global_bounced.jpg 
Views:	21 
Size:	356.4 KB 
ID:	147490


    Denis.

  13. #28
    Registered User
    Join Date
    Mar 2018
    Location
    Perth, Australia
    Posts
    131
    Quote Originally Posted by dpont View Post
    I updated DP Filter 2018,
    So now you can export Bounced Normal and Bounced Albedo as separate image files,
    -Enable "Global Buffer" in the Image Filter node editor panel.
    -Plug the Normal and Albedo outputs from GetBouncedBuffer node to Color 1 and Color 3.
    -Add the GetGlobalBuffer node, no need to plug it, open its panel,
    Enable Color 1 and Color 3, select the folder to save in, select an image file format.
    -Render.
    Denis.
    Thanks Denis,

    I'll check it out straight away!

  14. #29
    Registered User
    Join Date
    Mar 2018
    Location
    Perth, Australia
    Posts
    131
    Quote Originally Posted by peebeearr View Post
    Thanks Denis,

    I'll check it out straight away!
    Hi Denis,

    Did a bit of testing and found that the above combination causes a lot of 'random' crashes. Sometimes it crashes just before it tries to save an image, sometimes it crashes when accessing the node editor of a material. Doesn't seem to be any clue other than it happens a lot after I add the extra material (via the Python Script) and use the Global Buffer to write out images.

    But the output is working great!

    Some questions:
    - Is there a way to anti alias the reflected/refracted normals and RGB colours? It seems they are very rough now while the regular normals and albedo colours are anti aliased.

    An idea:
    I was thinking the other day, couldn't the whole denoising be done in a separate image viewer? This way you would not need to have to save out the individual buffers but 'grab' the buffers in the memory and do the denoising in the image viewer? Don't know if external image viewers are still possible in the latest LW iterations but we used to have QV4 that could do a lot more than the standard image viewer.

    That is something I like about Blender.... you can apply the denoising after you did a render and you would have both a denoised image as well as the original render.

  15. #30
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,183
    Quote Originally Posted by peebeearr View Post
    ...Did a bit of testing and found that the above combination causes a lot of 'random' crashes. Sometimes it crashes just before it tries to save an image, sometimes it crashes when accessing the node editor of a material. Doesn't seem to be any clue other than it happens a lot after I add the extra material (via the Python Script) and use the Global Buffer to write out images...
    I didn't experienced this and I need to reproduce for investigating,
    a simplified content with probable crash or steps to folllow,
    probably an Global Buffer & bufferset tolerance issue.

    ...Is there a way to anti alias the reflected/refracted normals and RGB colours? It seems they are very rough now while the regular normals and albedo colours are anti aliased...
    Actually the WriteBufferNode apply the same Reconstruction filter than Final Render,
    which makes sense in the OIDN process, you could try to modify them manually in the Buffer tab,
    just before rendering, but for some reasons it can be reset by the node.

    ...An idea:
    I was thinking the other day, couldn't the whole denoising be done in a separate image viewer? This way you would not need to have to save out the individual buffers but 'grab' the buffers in the memory and do the denoising in the image viewer? Don't know if external image viewers are still possible in the latest LW iterations but we used to have QV4 that could do a lot more than the standard image viewer...
    Actually the Image Filter node editor viewer is down-sized, for limited memory usage,
    so useless to see noise reduction.
    I know Global Buffer may have stability issues in that case, and hope to fix it,
    but this is the better way, to save the output of OIDN node, while you keep the Final Render unchanged.

    Denis.

Page 2 of 3 FirstFirst 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •