Features

Download

Online

Gallery

Blog

  Index  | Recent Threads  | List Attachments  | Help  | Search
 Welcome Guest  |  Register  |  Login
Login Name  Password
 

Sweet Home 3D Forum



Member(s) browsing this thread: brute4c
Thread Status: Active
Total posts in this thread: 80
Posts: 80   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 17876 times and has 79 replies Next Thread
MichaelN
Member




Joined: Apr 21, 2019
Post Count: 29
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

I just tried these plugin but it generates only complete grey pictures. Have I to do more than copying the file in the plugin folder?
[Nov 24, 2019, 9:43:26 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6869
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

enkonyito, did you export and load all the YafaRay DLLs required for the plug-in, like in the loadDLLs method I programmed in YafarayRenderer class?

jjocsak, the current version of the plug-in can work only in 64 bit. Maybe you installed Sweet Home 3D in 32 bit? If it's the case, just relaunch the installer and select the 64 bit architecture in the screen that allows to choose the installation folder. Of course, this will be possible only if your system is 64 bit.

MichaelN, did you try with some other files, or maybe the demos?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Nov 25, 2019, 11:30:44 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
MichaelN
Member




Joined: Apr 21, 2019
Post Count: 29
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

I tried it with my own file, not with the demo file.
I now tried an aother position, which works fine. Than I go again back to my kitchen - other view than before - and SH3D crashes without any message. It just disappears from the desktop.
[Nov 25, 2019, 4:45:07 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
jjocsak
Newbie



USA
Joined: Nov 9, 2019
Post Count: 5
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

64 bit install solved the problem, thanks.
[Nov 25, 2019, 5:29:49 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
enkonyito
Advanced Member
Member's Avatar


Joined: May 28, 2015
Post Count: 433
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

enkonyito, did you export and load all the YafaRay DLLs required for the plug-in, like in the loadDLLs method I programmed in YafarayRenderer class?


Yes, otherwise it causes the error java.lang.ExceptionInInitializerError .

What would prevent access to native methods in this case (java.lang.UnsatisfiedLinkError ) ?
[Nov 26, 2019, 11:20:08 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6869
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

Enkonyito, if you moved native methods to another class or package, you'll have to generate new .h and .cpp files and compile source code to update libyafarayjni.dll. Did you succeed to generate such a DLL?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Dec 16, 2019, 3:25:17 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
enkonyito
Advanced Member
Member's Avatar


Joined: May 28, 2015
Post Count: 433
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

Enkonyito, if you moved native methods to another class or package, you'll have to generate new .h and .cpp files and compile source code to update libyafarayjni.dll. Did you succeed to generate such a DLL?
As this solution (#2) works, I have not retested since.

I had failed to generate the DLLs in a custom package (betaTestPlugin) when trying to follow this method:
// To generate JNI DLL for Windows, read "YafaRay Windows 10 MinGW 64bit building - Standalone.txt" in Core-3.3.0\building (no need to install Python and stop after installing LIBRARY DEPENDENCIES)
// Run C:\mingw64\mingw64-shell.exe and use the following command (/C/Program Files/Java/jdk1.8.0_121 contains JDK)
// plugin project folder> g++.exe -D_GLIBCXX_USE_CXX11_ABI=0 -I"/C:\Program Files\Java\jdk1.8.0_201\include" -I"/C/Program Files/Java/jdk1.8.0_201/include/win32" -Isrc/betaTestPlugin/include/yafaray -Isrc/betaTestPlugin/include/other -I/C/msys64/mingw64/include src/betaTestPlugin/YafarayRenderer.cpp -shared -o src/betaTestPlugin/lib/windows/x64/libyafarayjni.dll -Lsrc/betaTestPlugin/lib/windows/x64 -llibyafaray_v3_core

[Dec 16, 2019, 11:14:46 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
enkonyito
Advanced Member
Member's Avatar


Joined: May 28, 2015
Post Count: 433
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

Some suggestions for the next version (1.0 Beta 4):
- use a YafarayRenderer.properties file to modify rendering parameters such as for SunflowRender.properties
- include an example xml scene using arealights or visible spherelights because their implementation is problematic
- make tile borders visible to see the number of rendering threads

Enko

Feedback on the light panels.

* When I choose,
params.put("type", "arealight");
// Uses the YafaRay coordinate system (X-right, Y-back, Z-up)
// vertex0 = (0% lightWidth, 0% lightDepth, 0% lightHeight)
// vertex1 = (100% lightWidth, 0% lightDepth, 0% lightHeight)
// vertex2 = (100% lightWidth, 0% lightDepth, 100% lightHeight)
// vertex3 = (0% lightWidth, 0% lightDepth, 100% lightHeight)
Point3f vertex0Location = new Point3f(0.0f - 0.5f, 0.0f - 0.5f, 0.5f - 0.0f);
Point3f vertex1Location = new Point3f(1.0f - 0.5f, 0.0f - 0.5f, 0.5f - 0.0f);
Point3f vertex3Location = new Point3f(0.0f - 0.5f, 0.0f - 0.5f, 0.5f - 1.0f);
lightTransform.transform(vertex0Location);
lightTransform.transform(vertex1Location);
lightTransform.transform(vertex3Location);
Point3f corner = new Point3f(vertex0Location.getX(), -vertex0Location.getZ(), vertex0Location.getY());
Point3f point1 = new Point3f(vertex1Location.getX(), -vertex1Location.getZ(), vertex1Location.getY());
Point3f point2 = new Point3f(vertex3Location.getX(), -vertex3Location.getZ(), vertex3Location.getY());
params.put("corner", corner);
params.put("point1", point1);
params.put("point2", point2);
params.put("color", new float [] {
((lightColor >> 16) & 0xFF) * ((this.homeLightColor >> 16) & 0xFF),
((lightColor >> 8) & 0xFF) * ((this.homeLightColor >> 8) & 0xFF),
(lightColor & 0xFF) * (this.homeLightColor & 0xFF), 1});
params.put("power", power * 100);
params.put("samples", 4);
createLight(UUID.randomUUID().toString(), params);
no light is emitted.

* When I choose,
params.put("type", "meshlight");
params.put("double_sided", false);
params.put("light_enabled", true);
params.put("color", new float [] {
((lightColor >> 16) & 0xFF) * ((this.homeLightColor >> 16) & 0xFF),
((lightColor >> 8) & 0xFF) * ((this.homeLightColor >> 8) & 0xFF),
(lightColor & 0xFF) * (this.homeLightColor & 0xFF), 1});
params.put("power", power * 100);
params.put("samples", 4);
createLight(UUID.randomUUID().toString(), params);
Sweet Home 3D automatically closes every time without an error message in Eclipse.
[Jan 1, 2020, 8:51:21 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6869
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

Hi,

For various reasons, I wanted to be able to recompile YafaRay DLLs. I succeeded to achieve this task without big problems under Windows and Linux thanks to the instructions given in YafaRay source code, but I had much more difficulties to make it work under macOS!
Finally, I was able to generate new DLLs based on a slightly modified version of the current source code (to fix an issue on normals management) and I'm happy to propose a version 1.0 Beta 4.
This new version is much smaller (13 MB instead of 46 MB) and should work under more systems.

enkonyito, before I investigate your problem, could you try again with this new version fist?

Happy New Year 2020 to everyone smile
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Jan 12, 2020, 1:56:47 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
enkonyito
Advanced Member
Member's Avatar


Joined: May 28, 2015
Post Count: 433
Status: Offline
Reply to this Post  Reply with Quote 
Re: YafaRay rendering plug-in

With the YafaRay Blender-Exporter, I was able to find examples of XML scenes using different types of light.


enkonyito, before I investigate your problem, could you try again with this new version fist?
With this version 1.0 Beta 4, the following three problems occur again.

1. No light emitted for arealight.
Example of implementation.
params.put("type", "arealight");
Point3f corner = new Point3f(-100, -100, 100);
Point3f point1 = new Point3f(-100, 100, 100);
Point3f point2 = new Point3f(100, -100, 100);
params.put("corner", corner);
params.put("point1", point1);
params.put("point2", point2);
params.put("from", new float [] {0, 0, 100});
params.put("color", new float [] {
((lightColor >> 16) & 0xFF) * ((this.homeLightColor >> 16) & 0xFF),
((lightColor >> 8) & 0xFF) * ((this.homeLightColor >> 8) & 0xFF),
(lightColor & 0xFF) * (this.homeLightColor & 0xFF), 1});
params.put("power", power);
params.put("samples", 4);
createLight(UUID.randomUUID().toString(), params);
I think it's related to line 84 of the arealight.cc file even for double sided panels.

2. Identifier not taken into account for spherelight and arealight.
To make the sphere or area lights visible, add
params.put("object", id);
returns the error "Invalid object ID given!".
How to find this identifier after the creation of the object (mesh)?

3. SH3D crash for meshlight.
Example of implementation.
params.put("type", "meshlight");
params.put("double_sided", false);
params.put("light_enabled", true);
params.put("object", 1);
params.put("color", new float [] {
((lightColor >> 16) & 0xFF) * ((this.homeLightColor >> 16) & 0xFF),
((lightColor >> 8) & 0xFF) * ((this.homeLightColor >> 8) & 0xFF),
(lightColor & 0xFF) * (this.homeLightColor & 0xFF), 1});
params.put("power", power);
params.put("samples", 4);
createLight(UUID.randomUUID().toString(), params);

These portions of code are implemented in the exportLightSource method of the YafarayRenderer class.
[Jan 13, 2020, 3:46:08 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Posts: 80   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 | Next Page ]
[ Jump to Last Post ]
Show Printable Version of Thread  Post new Thread

    Get Sweet Home 3D at SourceForge.net. Fast, secure and Free Open Source software downloads
   
© Copyright 2006-2020 eTeks - All rights reserved