Wings 3D Development Forum
YafaRay Plug-in - reviewing for Yafaray 3.0 - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Design & Development (https://www.wings3d.com/forum/forumdisplay.php?fid=6)
+--- Thread: YafaRay Plug-in - reviewing for Yafaray 3.0 (/showthread.php?tid=2053)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - david.bluecame - 07-19-2016

About the "fuzzy" caustics, the cause is that in v3.0.0 I extended the photon control parameters to all light types, and I also changed the parameter names from with_diffuse to shoot_diffuse, and with_caustic to shoot_caustics

Looking back now retrospectively, the name change was probably unnecessary and maybe not a good idea. So, in the upcoming YafaRay v3.0.1-beta I will change back these names to their original names so the Wings3D exporter will correctly render the caustics again.

An example:
[Image: ExampleCardioidCaustics_zpsphzt6apb.png]

About the transparent background and the transparent refraction, in my Wings3D fork (branch yafaray_v3) I've updated the plugin so it contains all necessary parameters to do this:
* Alpha: as before, it will just give the Image file the Alpha channel. This is necessary to properly use the transparent background and refraction, but alpha is also used for some other uses in v3, for example in masking render passes (not yet implemented in the plugin)
* Transparent background: if alpha is set, and this parameter is set, the background texture will be replaced by a transparent surface.
* Transparent refraction: if alpha is set, and transparent background is set, and this parameter is set, the transparent objects like glass will have refractions with a transparent (alpha) surface.

An example with transparent background and refraction:
[Image: TranspbackgroundandTransprefractionsetti...a0fefb.png]

[Image: firefly2alphatranspbackgroundandtranspre...4b2f1d.png]

Example with transparent background only, but not transparent refraction:
[Image: Transpbackgroundonlysettings_zps68c52636.png]
[Image: firefly2alphatranspbackgroundonly_zps3bf5e762.png]

Example with transparent background disabled:
[Image: Transpbackgrounddisabled_zps43a4e7b6.png]
[Image: firefly2alphatranspbackgrounddisabled_zpsf99732b5.png]

Final note: to see the PNG with the alpha channel properly you will need to download the PNG files from PhotoBucket


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - oort - 07-19-2016

David,
Thanks for showing the image for the console change. I see now why I did not understand. The problem you show in the first image does not occur on my Windows system... Smile

Thanks for fixing the blurry caustics. Glad you are taking Wings3D users into consideration.

I have one question for the images for Trasnparent Refraction and Transparent Background. Why would having Transparent Refraction turned on prevent the surface from reflecting the HDRI environment? (Shown in the first example). Is that the way it is done in other rendering software?

Prior to version E 1.0.0 the surface would reflect the HDRI even with Transparent Refraction turned on.

Thanks,
oort


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - david.bluecame - 07-19-2016

Hello,

I will check why the reflection does not appear, thanks for pointing it out!


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - david.bluecame - 07-20-2016

Hello,

I have a question: Is it possible to set object-specific parameters in wings?

I'm thinking aboub how can I implement here the per-object "objectID" parameter (int value)


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - oort - 07-20-2016

I think I understand what you are asking. Look at the code for Meshlights export.

I think this is the part...

Quote:%%Start Micheus Code for Meshlights Even Better
section(F, "Objects"),
foldr(fun (#e3d_object{name=Name,obj=Mesh}, Id) ->
export_object(F, "w_"++format(Name), Mesh, MatsGb, Id),
println(F),
Id+1
end, 1, Objs),
%%End Micheus Code for Meshlights Even Better

Here is menu code where different object types are chosen...
Quote:{hframe,[
{vframe,
[{menu,[{?__(31,"Mesh"),mesh},
{?__(32,"Volume"),volume},
{?__(33,"Mesh Light"),meshlight},
{?__(34,"Light Portal"),lightportal}
],
Object_Type,
[key(object_type),layout]},

Note that this code is from the Wings 1.4.1 version of the plugin. So it is not formatted properly for Wings 2.x versions.

oort


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - david.bluecame - 07-20-2016

Thank you, oort!

In Wings3D user interface, how can I access those object parameters?

Thanks!


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - oort - 07-20-2016

These options are chosen in the material properties dialog box. In the "outliner" window select a material > RMB > Edit Material > YafaRay Tab > Select the object type. When that material is applied to an object, that object takes on that mesh type, either Mesh, Volume, Meshlight, or Light Portal. See the "Meshlights" example file from my website for reference. The "Noise Volumetrics" example shows how a Volume object works.

oort


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - david.bluecame - 07-20-2016

I see, so you cannot set per-object parameters, only per-material parameters, true?

I have another question, please: can wings show a preview window/panel that auto-refreshes every x seconds? One of the recent YafaRay features is the image autosave so you could see the render progress if the preview window also auto-refreshes


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - oort - 07-20-2016

It may be possible. Wings3D just isn't set up that way right now. Using the material to define an objects type works pretty good.

There may be some code already there that could make it possible. It is possible in Object mode to select an object > RMB > Object to Area light. This converts an object to an area light. Is it worth the trouble to add this to Wings3D??? I do not know... Smile


For a window that shows the rendering progress, I think the Kerkythea plugin may have some code for that. Install Kerkythea and you can see how that plugin works. It would be nice to see the rendering progress.

Not sure if you noticed the list of features that are currently in the YafaRay plugin. Here is a link to the pdf. YafaRay plugin Features

oort


RE: YafaRay Plug-in - reviewing for Yafaray 3.0 - micheus - 07-20-2016

(07-20-2016, 05:04 AM)david.bluecame Wrote: I have another question, please: can wings show a preview window/panel that auto-refreshes every x seconds? One of the recent YafaRay features is the image autosave so you could see the render progress if the preview window also auto-refreshes
oort Wrote:For a window that shows the rendering progress, I think the Kerkythea plugin may have some code for that. Install Kerkythea and you can see how that plugin works. It would be nice to see the rendering progress.
oort, that is an window started and managed by Kerkythea that is automatically created when we run the command line string with a file as parameter. It happens in this line at the end of export/3:
Code:
wings_job:render(ExportTS, Renderer, ArgStr++" -o "++filename:basename(Filename)++" "++RA, PortOpts, Handler)
The external application is started in wings_job:render.

If the new version of Yafaray creates a window to show its progress, then that should work in the same way. But, if it only updates the image in disk, then we'll need to implement this kind of feature since I don't remember about any Wings3d code currently doing that.