PDA

View Full Version : Problem with material transparency and alpha channel



SpawnSP
01-22-2019, 12:51 PM
Hi all!

I'm having a strange problem related to what it seems a very basic rendering error, but I've not been able to find where the error is. Here is a simple render I've made to explain the problem:

143919

The ground material has no transparency at all, and the ball material has a transparency of 35% and refraction index set to 1. Both materials ere principled BDSF, but I've tried standard and delta with the same results.
¿Shouldn't the intersection zone be totally opaque, given that the object behind the sphere is?

It's the first time I render something on 2018 that I have to comp on a background video and I encountered this issue.

Is this normal behaviour in LW 2018? I've done a lot of work on the past (on 11.6) that relied on the alpha channel for comping, and I've never encountered this issue. Maybe there is a setting somewhere that I can't find?

Thanks in advance!

jwiede
01-22-2019, 01:51 PM
Yeah, that looks bugged. The area where the sphere overlays the ground is darker gray than the ground, implying the alpha in that region is <1.0 (aka has transparency, which shouldn't be the case). The ground material should be alpha 1.0 (opaque) across its entire extent, the sphere's overlap should not reduce the alpha of the ground (yet it is).

What revision of LW2018 did that come from, and on what platform?

(edit) I was just able to replicate this alpha issue using LW2018.0.7 Mac64 on OSX 10.13.6. Bug filed as LWB-4569.

File a bug report attaching scene & renders, though it appears any fix will have to be part of LW2019 now.

jwiede
01-22-2019, 04:37 PM
BTW, I was able to test with a case where alpha must be computed (sphere = 35% transparent, ground = 1% transparent) and that case also is incorrect.

While there's a per-surface control (under Shading Model) where you can set "Uniform Alpha" (which might help OP as workaround by setting ground surface to Uniform Alpha of 1.0, if so thank Deuce @ Newtek for that suggestion), that doesn't really help for the alpha cases which must be computed -- f.e. overlapping transparency cases.

Ma3rk
01-22-2019, 04:38 PM
Also, what type of light are you using? Check the options on that while looking at VPR and it's buffers. Might reveal something not readily noticed. Volumetric options now can affect alpha as well. All sorts of areas to look in now to trouble shoot.

jwiede
01-22-2019, 06:39 PM
Fortunately, this problem doesn't appear to exist in LW2019.0.0 based on my (admittedly, limited) testing with the trial.

SpawnSP
01-23-2019, 12:23 AM
While there's a per-surface control (under Shading Model) where you can set "Uniform Alpha" (which might help OP as workaround by setting ground surface to Uniform Alpha of 1.0, if so thank Deuce @ Newtek for that suggestion), that doesn't really help for the alpha cases which must be computed -- f.e. overlapping transparency cases.

Yeah, that setting works if there is only one transparent object in front of the opaque one. But when you overlap several transparent objects, the problem still occurs. In my case, those objects are vehicle windows, so I think they will overlap at some point.


Also, what type of light are you using? Check the options on that while looking at VPR and it's buffers. Might reveal something not readily noticed. Volumetric options now can affect alpha as well. All sorts of areas to look in now to trouble shoot.

I don't see any changes when changing light settings and types. Alpha channel is wrong even if i disable all lights. For the test scene, I just opened LW, added the ground plane and the ball and hit F9, so I don't think volumetrics could be the problem.


Fortunately, this problem doesn't appear to exist in LW2019.0.0 based on my (admittedly, limited) testing with the trial.

Well, glad to see that in LW2019 is fixed, but I think this sould work on LW2018 too. Right now, my LW2018 renders are unusable for compositing.

EDIT: Just tested the demo version of LW2019 and yes, alpha channel is correct there.

SpawnSP
01-24-2019, 12:15 AM
(edit) I was just able to replicate this alpha issue using LW2018.0.7 Mac64 on OSX 10.13.6. Bug filed as LWB-4569.

File a bug report attaching scene & renders, though it appears any fix will have to be part of LW2019 now.

I did that yesterday, but they closed it because it was a duplicate. I guess the bug report they have active is the one you sent.
Please, keep us posted if there are any updates. LW2018 is currently useless for me for my current project.

Thanks!

jbrookes
01-26-2019, 06:50 PM
Holy crap! Yeah, that's a bad bug alright.

One can only hope that maybe -- just maybe NewTek will fix that for LW2018, despite 2019 being released. After all, it's a very fundamental bug.

jbrookes
01-26-2019, 07:21 PM
I verified that it does this in the Windows version of LightWave 2018.0.7 build 3070.

And it even does it with the Standard material type.

If I'm seeing what I think I'm seeing then this potentially makes LightWave 2018 useless for compositing with semi-transparent objects.

jbrookes
01-26-2019, 07:37 PM
Something that might help (in cases in which it's acceptable for the job you're working on) is -- for the sphere's surface -- to go to the Surface Editor's [Shading Model] tab and set the "Refraction Options" to [Raytrace Only].

Still hoping that this gets fixed in LW2018.

jwiede, how did you set the ground surface's Alpha to uniform 1.0?


Ugh! A quick update: Turns out that setting it to [Raytrace Only] fixes the alpha for Standard and Delta. Problem is, Principled still has alpha issues (I can see a ring of grey around the base of the sphere in my Principled BSDF test renders).

SpawnSP
01-28-2019, 01:11 AM
jwiede, how did you set the ground surface's Alpha to uniform 1.0?


Ugh! A quick update: Turns out that setting it to [Raytrace Only] fixes the alpha for Standard and Delta. Problem is, Principled still has alpha issues (I can see a ring of grey around the base of the sphere in my Principled BSDF test renders).

It's on the same panel that the "Raytrace only" setting. There is an "Alpha channel" parameter that you can set to "Constant value" and then a value of 1 (on the object that has to be opaque, not the transparent ones).
Unfortunately, none of the settings helped. The "Raytrace only" gives different results on the alpha channel, but they're also incorrect.

Anyone has still previous versions of LW2018? Maybe this is only broken on 2018.0.7. Unfortunately, I don't have previous installers to check...

I also think this should be fixed in LW2018... Now it's missing a very basic functionality.

SpawnSP
01-29-2019, 09:29 AM
Just found an installer for the 2018.0.1 version. Tested and the same problem exists.
I find it very strange that no one used LW2018 for compositing during the entire lifetime of this version...

I think I will have to render the scene on Octane. For this scene, I had to use the native renderer because I needed the "shutter open" parameter in order to match the motion blur of the original background footage. But the LW2018 alpha problem is worse than the motion blur problem of Octane, so...

jbrookes
01-29-2019, 02:47 PM
Thanks!

Turns out Dielectric is also having the same issues. So far that's Principled, Delta, Standard, and Dielectric that I've tested as bad on my install of 2018.0.7.

SpawnSP
03-14-2019, 03:15 AM
I was just able to replicate this alpha issue using LW2018.0.7 Mac64 on OSX 10.13.6. Bug filed as LWB-4569.

Hi jwiede!

Did you ever got a response for this bug? Maybe it's time to search for alternatives...

Thanks!

jwiede
03-16-2019, 07:30 PM
Hi jwiede!

Did you ever got a response for this bug? Maybe it's time to search for alternatives...

I was told it was fixed for "current version", aka 2019, and my testing indicated same.

I see no basis for hope of a LW2018 fix to this issue, alas. I do agree a bug this severe really merits a fix for LW2018.

hypersuperduper
03-17-2019, 03:21 AM
While obviously you shouldn’t have to do this, perhaps a workaround is to set up a custom buffer that contains all solid surfaces so that you could at least get rid of the issue of the transparent object making the background object transparent.

gar26lw
03-17-2019, 06:48 AM
I was told it was fixed for "current version", aka 2019, and my testing indicated same.

I see no basis for hope of a LW2018 fix to this issue, alas. I do agree a bug this severe really merits a fix for LW2018.

yep, if you bought the package you’d expect it to work. if it was a piece of electronics you’d expect a fix, not be told to buy the model up.

SpawnSP
03-18-2019, 12:33 PM
I was told it was fixed for "current version", aka 2019, and my testing indicated same.

I see no basis for hope of a LW2018 fix to this issue, alas. I do agree a bug this severe really merits a fix for LW2018.

Thanks. I was expecting this response.
"Nothing to see here, move along!"


While obviously you shouldn’t have to do this, perhaps a workaround is to set up a custom buffer that contains all solid surfaces so that you could at least get rid of the issue of the transparent object making the background object transparent.

I think that this workaround, while it would solve the alpha on conflicting zones, it would affect the borders of the rest of the object not affected with the problem. On my initial example (the ball with the ground), the ground borders would have double alpha... But it's something to try to see how it really works.

Anyways, I think I'll go the Octane route... It's a pain to convert all materials to Octane (and make them look the same), but...

Thanks!

hypersuperduper
03-18-2019, 03:05 PM
I think if you choose the right blending method in your compositer you can probably avoid any artifacts from having double alpha on the edges. However another concerning thing from the render is that the alpha doesn’t seem to take into consideration any fresnel effects on the sphere either, it is an even value, which it probably shouldn’t be. This means you would want to calculate that as well and add that to the custom buffer. I am sure it can all be done and you can get a satisfactory result, but at that point you are basically creating a custom alpha. Although that may still be less work than rebuilding all the materials for octane.

jbrookes
03-19-2019, 10:38 AM
Since it's fixed in LW2019, my guess is that a fix for LW2018 would likely be a simple copy-and-paste operation since LW2019 is almost certainly based on LW2018 code.