Wings 3D Development Forum
Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Interface & Usage (https://www.wings3d.com/forum/forumdisplay.php?fid=3)
+--- Thread: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea (/showthread.php?tid=2970)

Pages: 1 2


RE: Cornell box comparison between PovRay and YafaRay - sciroccorics - 10-10-2020

Quote:the Advanced settings tab (Shadow Bias and Min Ray Distance)

Hi oort, I couldn't find this "Advanced Setting" tab in YafaRay preferences, is it on the plugin window or on the light parameters window ?

Quote:I get the feeling from your post that you know something about the science behind 3d rendering

Yes, I've read several theoretical books/articles on 3D modeling and rendering. I am more aware about the math models used in modeling techniques, but I am also interested in the carpentry behind rendering techniques (progressive radiosity, variance reduction for ray sampling, monte-carlo and quasi monte-carlo techniques, and others).

For the moment, in my personal PovRay/Yafaray battle, Yafaray is the clear winner. So next step will be the Kerkythea/Yafaray battle, to find the Great Champion. But using Kerkythea is less practical, because when using the rendering plugin in Wings, I always get a "Rendering Error" message. So I have to export my scene to a Kerkythea XML file and to use the standalone application to get a rendering without an error message. Have you encountered the same problem with the Kerkythea plugin ?


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - micheus - 10-10-2020

Kerkythea is the one I have been using lately.
I will need to check, because I only use the export option.

Since the plugin offers us only the basic materials settings its GUI is the best way to make any fine tune or use a material from the library..

The only problem I see is that we need to keep its file around the project, because if you loose it you have to start from the ground again.


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - oort - 10-10-2020

sciroccorics,

Sorry I forgot I am using an unofficial version of the YafaRay plugin by Micheus that has not been released yet. I just updated my website to add that version to the website under the YafaRay example files section. Backup your official version of the plugin files in case you have problems with the version on my website. The version on my website has additional settings under the Render options dialog.

I just tested rendering with Kerkythea and I get the rendering error as well. The rendered image does show up in the folder even though I get the error. This may be a bug in the Kerkythea plugin. Hopefully Micheus has time to fix that... Smile

oort


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - sciroccorics - 10-11-2020

Thanks oort for making available the unofficial Yafary plugin, and thanks a lot Micheus for going on improving things for Wings3D. I like all these new tabs with plenty of new parameters to test Tongue

Just a short comment about the "Advanced" tab: even if I haven't read the whole Yafaray doc yet, I'm pretty sure about the role of the two options presented in there, because I've read about them in other sources. One common pb with shadow rays in ray-tracing applications, is that floating-point arithmetics used when computing ray/object intersection may find the intersection point slightly INSIDE the object instead of being on the surface (let's say 0.00001 unit distance just under the surface). So when casting shadow rays towards the light sources from this false intersection point, a shadow ray may encounter the object surface just above the intersection point, and thus may incorrectly set the intersection point as being in the shadow for the corresponding light source. Two solutions exist to solve that issue: either perform a so-called "shadow bias" (which is the first check on the "Advanced" tab) by moving the intersection point a little bit along the normal vector to ensure that the starting point is located ABOVE the surface, or use a "min ray distance" threshold (which is the second check on the "Advanced" tab) saying that when the new intersection point is too close to the previous intersection, it should be discarded as a false intersection. Both heuristics may fail for some pathological cases (e.g. fractal 3D objects), that's why the option may be unchecked on the plugin, but in most cases, I guess that it is pretty safe to let both options checked.


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - sciroccorics - 10-11-2020

Quote:Since the plugin offers us only the basic materials settings its GUI is the best way to make any fine tune or use a material from the library..

OK, does it mean that in your workflow, you basically use Wings only for the geometry and the UV mapping, then go to the Kerkythea GUI for all the material, light and texture stuff ? But each time you want to change the geometry or the UV mapping in your scene, do you have to reassign the materials and textures for all objects of your scene ? Or can the geometry be kept in a separate Kerkyhea/XML file and included as a file in the XML file defining the materials, the light and the rendering parameters (kind of a "#include" or "import" mechanism that exist in programming languages) ?

If I look at the content of the XML file generated by the export, it appears that all properties (vertices, normals, UV, materials) are interlaced, so I am afraid that a new export with a modified geometry would cancel the previous material assignments. How can you avoid that ?


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - micheus - 10-13-2020

YafaRay
Quote:Thanks oort for making available the unofficial Yafary plugin, and thanks a lot Micheus for going on improving things for Wings3D. I like all these new tabs with plenty of new parameters to test
In the Yafaray case, the credits for the improvements are for david.bluecame - YafaRay Plug-in - reviewing for Yafaray 3.0
He is part of the YafaRay team
I just made some fixes and provided a test build to oort.


Kerkythea
Quote:OK, does it mean that in your workflow, you basically use Wings only for the geometry and the UV mapping, then go to the Kerkythea GUI for all the material, light and texture stuff ?
Yes.

Quote:But each time you want to change the geometry or the UV mapping in your scene, do you have to reassign the materials and textures for all objects of your scene?
I avoid to go to render before I finish my work. Smile
But, no. You don't need to reassign the material.

What I do in these cases:
- In Wings3D I selected the changed object (mesh or UV) and use the option Export Selected->Kerkythea naming it "Temp.xml";
- In Kerkythea, I use the File->Merge with the option for Models -> "Name Collision: Replace Mesh" and for everything else "Keep Current" (except when I need any other to be changed).
* We have the option to go to the Models->Edit Material and bellow the preview image I use the right buttom to store the current material settings in the Current Library (for safety)

Quote:Or can the geometry be kept in a separate Kerkyhea/XML file and included as a file in the XML file defining the materials, the light and the rendering parameters (kind of a "#include" or "import" mechanism that exist in programming languages) ?
Not that I know about that is possible.
Since Kerkythea isn't in development for long time I never tried to play around with its export. It would be better to implement a new one for a free render still in development - like LuxCoreRender. dgud has been waiting for someone to work on it for long time. It could be a good start point for your Erlang adventure. Smile


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - sciroccorics - 10-15-2020

Quote:In Kerkythea, I use the File->Merge with the option for Models -> "Name Collision: Replace Mesh" and for everything else "Keep Current" (except when I need any other to be changed).

Hey, that's really excellent ! I didn't check the "Merge" option in Kerkythea. Nice trick, indeed...

Quote: It would be better to implement a new one for a free render still in development - like LuxCoreRender. dgud has been waiting for someone to work on it for long time. It could be a good start point for your Erlang adventure. Smile

That looks like a tempting goal for my future "learning Erlang roadmap". I've played a bit with the old LuxRender a couple of years ago, but the new LuxCoreRender seems even better. For the moment, as a short-term goal, I would like to propose some AutoUV shaders (well, not really related to Erlang, but still related to Wings) as I know GLSL quite well. I thought more specifically about some procedural textures able to consistently generate both a color map and a normal map for a given pattern. And why not some other layers of PBR materials (height, roughness, metallic, occlusion). I've studied some of the shaders you wrote, to understand the link between the auv config file and the corresponding vs/fs files. This autoUV shader is a really cool feature implemented by dgud. Awesome !


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - micheus - 10-18-2020

About the Kerkythea "Rendering Error" issue...

I toke a look and even using the command line on CMD or in a shortcut it also doesn't work. This just confirms it's not a plugin problem.
The returned error is -1073741819 - which is a file system error.

Interesting is that starting the app without any parameter it will run.

I tried a couple of options in this article: Windows 10 Update (KB4345421) Causing File Systems Error (-2147219196) and nothing worked. So, I have no clue about how to fix that. Blush

sciroccorics Wrote:I would like to propose some AutoUV shaders (well, not really related to Erlang, but still related to Wings) as I know GLSL quite well. I thought more specifically about some procedural textures able to consistently generate both a color map and a normal map for a given pattern.
Cool.
By now, we can only create one map - which usually is the base/diffuse colour. I use as alternative create other maps by running the process as many time as required and in each one I duplicate and rename the texture image generated. Smile

The code needs to be improved to allow us to create multiples maps at once.


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - micheus - 10-20-2020

I did some more tests and evaluation on my PCs. I'm on Windows 10 and surely some update broke the Kerkythea startup with parameters:

[Image: kerky-windows10-error.png]

Windows is reporting a app error, but the program starts OK in standalone mode.

oort told me he can run the program - although the rendered image fail to load with the same error code (-1073741819). He is on Windows 7

There were changed nothing for long time in this plugin. Also, all render plugins use the same module to run the command line and wait for the image be finished. So, there is no way to blame the plugin or Wings3D for this new behaviour.

I'm going to wait a little more to see if any Windows update put things right.
I just noticed there is a new update waiting I allow it to be installed 20H2.


Until there, we need to start Kerkythea standalone, export the file from Wings3D and load/merge on it - as I used to do and which I believe it's more productive. Smile


RE: Cornell box comparison : PovRay vs. YafaRay vs. Kerkythea - sciroccorics - 10-20-2020

Quote:Until there, we need to start Kerkythea standalone, export the file from Wings3D and load/merge on it - as I used to do and which I believe it's more productive.

You totally convinced me on that point ! As Kerkythea includes tons of materials and textures that cannot be accessed through the plugin, it is indeed much more powerful to export the geometry+uvmap from Wings and then perform other stuff directly in the Kerkythea standalone. Using your "merge" tip to re-import some modified geometry for a specific objec (without changing the rest of the scene) is quite easy to use.