View topic - Render Passes (shadows, diffuse, indirect, etc)

Render Passes (shadows, diffuse, indirect, etc)

General discussion on lighting, backgrounds, Global Illumination, rendering parameters and tonnemapping.

Render Passes (shadows, diffuse, indirect, etc)

Post Sat Jul 04, 2015 2:48 pm

Hello,

Having the ability to do Render Passes to obtain at the same time separate images for diffuse, reflections, shadows, etc, is an important requirement for many professionals. Therefore I've started to do some tests to try to implement such a feature in the upcoming YafaRay v0.1.99-beta5 version.

If you want to see a very basic preview of the new feature, you can see it here:

https://www.youtube.com/watch?v=O5pTxjqKcQE

You have the .blend file, the video and the images (PNG and OpenEXR) that I've generated in a zip file you can download here, if you want to analyze them...

https://github.com/DavidBluecame/YafaRay---unofficial-Builds/raw/master/YafaRay%20upcoming%20v0.1.99-beta5%20blender%20passes%202nd%20preview.zip


The "Combined" and "Depth" blender passes were already in the original YafaRay software. In this test I've created 5 more passes:
* "Color": image without shadows
* "Shadow": shadows only
* "Indirect": indirectly reflected light
* "Reflect": reflected light from mirror surfaces
* "Refract": indirect light coming from caustics

This is just a test in the very early stages of the development, still a lot of work to do before this feature can be released...

I have very little time and energy at the end of the day to work on YafaRay, so you have to be patient with me :) There is still a lot of work to do to make this usable!

In any case, as I don't have practical experience with post-production in YafaRay, I would welcome any input, comments and ideas about what kind of "passes" are normally needed for professional work. For example, how the shadow pass should be rendered, etc. Please let me know what would you consider more useful for your work and I will try (if I can) to implement it.

I hope you find this interesting. Best regards. David
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Sat Jul 04, 2015 10:23 pm

(edited links and text in the original post with the latest changes/tests)
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Sun Jul 05, 2015 2:34 pm

Thanks David
kenanaybati
 
Posts: 34
Joined: Sun Mar 03, 2013 3:34 pm
Location: Istanbul

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Mon Jul 06, 2015 10:51 am

Hi David

There is in fact a document that explains how to manually make passes in yafaray, in spanish
https://docs.google.com/document/d/1K_a ... edit?pli=1

Thank you for this work however please lets keep Yafaray as simple as possible. Also the fact that YafaRay is a phisically based raytracer means that we don't need as much post production work as other render engines. Arnold does not do render passes.
User avatar
Samo
 
Posts: 3092
Joined: Tue Dec 20, 2005 10:39 am
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Mon Jul 06, 2015 9:02 pm

Hello, Alvaro.

I cannot agree with that. YafaRay is not really physically based and the manual passes method is very slow and inconvenient.

I understand the need to keep YafaRay as simple as possible, but on the other side the lack of features and development is causing YafaRay to lose users at a frightening rate. The problem is that lately YafaRay has not been kept simple, it has been kept dead.
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Tue Jul 07, 2015 9:19 am

As far as I know, after the refactoring made by Mathias in 2005, Yafaray is mostly based on the techniques explained on the PBRT book, and it is by definition a physically based engine, f.e. it follows realistic material & lighting formulas to produce results. With the same scene parameters, YafaRay is able to produce the very same results than Indigo or Octane for instance, albeit with different render times, and this has been demonstrated several times. For instance, a physical camera is much more important than render passes in my opinion. It is about getting YafaRay to work as a digital camera, rather than as a renderman engine IMO.

In general, render passes is mostly needed when you need to compose renders against real backgrounds or if you need to adjust an element in a scene without launching again a particular costly render in terms of time. For that kind of work is more important for instance getting "object ID pass", "normal pass" and mask plates so users can work apart objects in the scene to be tone-mapped independently. Indeed, tone mapping is the main post production operation any user will do IMO, and tone mapping software (such as Darktable) have lot of tools to work on the general look of an image or on particular ranges or colors, noise, saturation, white balance, etc.

Also one of the main issues is that all data passes could be produced along the render image in a single go, but render passes should be launched one by one regardless of how easy is to prepare them, and there is no way you can change that unless you fundamentally change how YafaRay works. This is the main disadvantage we got about producing passes in YafaRay.

Anyway it is only my opinion based on my personal experience using YafaRay. I am sure other users use YafaRay in a different way. If you make easier to produce passes I think it will be a nice addition to YafaRay, but I only ask to keep it simple and nice. IMO there should be always a strong justification every time we add a parameter or feature in YafaRay, since features add complexity for users and maintenance time for developers.
User avatar
Samo
 
Posts: 3092
Joined: Tue Dec 20, 2005 10:39 am
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Wed Aug 26, 2015 8:34 pm

Hello,

I'm working on this, but it's a lot of work, difficult and complex. In any case I'm progressing and even when there is still quite some work to do, it's getting closer :-)

For a new updated preview of the new feature see this video:
https://www.youtube.com/watch?v=HARHx6KFpkI

To get more flexibility and use all the possibilities of YafaRay, I have divided the Render Passes in "external" render passes (for example the Render Passes Blender can use) and the YafaRay Internal Render passes, including the different types of renderings you can get from YafaRay including Debug, samplerate, and some others. Yo, for each External Render pass you can select which Internal YafaRay pass you want to show. I think that will be pretty useful, even for me to debug problems in YafaRay having at the same time the actual rendered image and the debug images for UV, dSdU, etc, to check the textures and surface mappings, etc.

I hope you find this interesting...
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Thu Aug 27, 2015 9:13 pm

Just saw the video, one thing to say:
GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT GREAT !!!!!!! :D

AND THANK YOU ;)

Olivier Boscournu __ riofranco design  Montpellier _ France   http://www.olivier-boscournu.com/

User avatar
Rio
 
Posts: 186
Joined: Thu Nov 12, 2009 1:53 pm

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Mon Sep 07, 2015 2:10 pm

Hello,

This is getting closer, not yet there but approaching :-) I've prepared the Automatic Object Index / Material Index colors pass as requested by Olivier

I've also added the automatic masking of objects requested by Álvaro, selecting arbitrary object index or material index, so YafaRay will automatically mask the desired objects or materials. I've also added an option to invert the selection, therefore masking-in or masking-out the selected material or object index.

I'm also using alpha transparency for the masking, so the rendered image from the mask passes should be inmediately useable for compositing much like a conventional paper "cutout".

I've uploaded a video to Youtube showing the latest additions for Index Pass: automatic colors and automatic masking of selected object index or material index. I'm not talking in the video, I'm just showing visually how the new feature works, I hope it's clear enough...

https://www.youtube.com/watch?v=CXs7otE1NFs

Example of Automatic Object coloring:
001_(03_pass_normal).png
001_(03_pass_normal).png (44.69 KiB) Viewed 16011 times


Example of automatic Material coloring:
001_(04_pass_uv).png
001_(04_pass_uv).png (52.06 KiB) Viewed 16011 times


Example of Material Index Masking (with transparency)
001_(02_pass_vector).png
001_(02_pass_vector).png (116.46 KiB) Viewed 16011 times


You can also download the video, .blend file and the rendered PNG (RGBA) here:

https://github.com/DavidBluecame/YafaRay---unofficial-Builds/raw/master/YafaRay%20EF%20v1.0.0%20Render%20Passes%20examples%20-%20Cornell%20Box%20-%20Passes%20and%20Masking.zip

I hope you find this useful.
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain

Re: Render Passes (shadows, diffuse, indirect, etc)

Post Thu Oct 15, 2015 7:55 pm

For the record, the Render Passes feature will be available in the future YafaRay-E (Experimental) v2.0.0
User avatar
David Bluecame
 
Posts: 460
Joined: Mon Jan 21, 2013 12:42 pm
Location: Spain


Return to Lighting and Rendering



Who is online

Users browsing this forum: No registered users and 4 guests

cron