I made dielectric and metallic PBR materials based on a tutorial (angle^5 rather than fresnel due to controllability), and I have no problems with those. The tutorial said making glass would be just as easy, but (although I have no tutorial for this one) I find that extremely hard.
Setting up “manual glass” using refraction and glossy with a mix curve, I find no proper means of mixing a custom curve (angle^5) with the hardcoded IOR effect in the refraction node. It appears to look okay’ish, until I put a solidify on the objects, at which point the whole thing falls apart.
It will also fall apart if a normal fresnel mixer has a different IOR than the refraction node. So as far as I can figure out, the only way to approach refractive glass is to use a fresnel node as the mixer and match its IOR with the refraction node.
Question 1: How to approach the “ducking” (reduction of fresnel) in fresnel output based on the roughness value? With angle^5 based PBR we’re just applying a angle^(1/5) reduction, and it just works. Applying angle^(1/5) reduction to IOR based fresnel, well, it kinda works, but it doesn’t really look correct.
Question 2: What is glass, in a PBR sense of the word? I’m currently exposing absorption color and density while forcing white into glossy and refraction. I’m also exposing a “bias” control which lets you control the shape of the fresnel (anti reflection coating on the glass, or a more reflective glass). I’m also exposing IOR, even if for PBR approaches we don’t usually expose the power (steepness of the fake fresnel curve) to the user. Is there anything “special” that goes on with glass as its roughness increases? Should I introduce translucency which adds a heavy cost? Should I simulate russian roulette to avoid ray splitting, and if so, should I do it even for the first hit?
PBR glass - a bit more thought extensive than I expected