Users must be informed that the behaviour is undefined in the mentioned case.
@Biart95 I would like to contribute to this. I am new to this repository as well as open source. It would be great if you could help me get started.
@Rajiv2605 Hello! If you're comfy with C++ (that's a prerequisite), we gladly accept contributions!
The very first step would be to build appleseed on your machine. Here is a detailed guide: https://github.com/appleseedhq/appleseed/wiki/Building-appleseed.
Don't hesitate to ask on our appleseed-dev mailing list if you have questions or if you encounter issues.
@Rajiv2605 Hello! Welcome to Appleseed!
This issue is very good to start with. The problem is that alpha mapping in Appleseed just ignores the surface (as if it does not exist) with the given probability. It is not clear how we should treat participating media in aforementioned case. At the moment the behavior is not specified, and it is good to inform users about this.
We already have a similar warning about EDF + alpha, so I would recommend to find a place in the code where we already emit this warning and put new warning there.
Perhaps in the future we would like to treat surface alpha like it is done in some renderers: if there are material with alpha, BSDF and Phase Function, then with probability alpha we compute bounce according to BSDF, with probability 1 - alpha we skip the bounce but proceed to raymarch the media inside. However, this approach needs to be discussed and we should understand if this will work correctly with BSSRDFs and transmissive BSDFs.
@dictoon @Biart95 I am currently running Ubuntu 16.04 LTS in which I have g++ 5.4.0 and Qt 5.9. As it is mentioned in the docs that Appleseed can be built only with g++ 4.8 and Qt 4.x, is there anything I can do?
appleseed builds fine with gcc 5.4. Qt4 is required to build appleseed.studio.
You can install qt4 from most package managers on linux.
@dictoon When I investigate this issue, I found that we already have a warning message in
src/appleseed/renderer/modeling/material/genericmaterial.cpp:97.
I think we can close it now. :)
@Aaron19960821 The warning we already have is not for the same issue.
Here, we want to warn that a material is a volume and has an alpha map at the same time.
In our current code, the warning tells you that you are emitting light and have an alpha map at the same time.
@oktomus I am sorry, I will take a look on this issue.
Done.
Most helpful comment
@Rajiv2605 Hello! If you're comfy with C++ (that's a prerequisite), we gladly accept contributions!
The very first step would be to build appleseed on your machine. Here is a detailed guide: https://github.com/appleseedhq/appleseed/wiki/Building-appleseed.
Don't hesitate to ask on our appleseed-dev mailing list if you have questions or if you encounter issues.