1.) As far as Emission, that was a quirk of porting over some code from Unity. In Unity, it was stuffed into Emission since that's guaranteed to be added to the result after all lights have been accumulated (rather than running per-light) 2.) Wat. I thought mip selection was the standard way of doing blurry reflections?…
You can also have a look at the glsl code for the PBR shader that ships with Substance Designer which uses exactly the method almighty_gir described (except I directly read the environment from a lattitude/longitude texture instead of a cubemap, but the changes to account for that are simple).
Hey guys, if the original author don't mind, I have temporarily shared it here on this link while the original one comes back: https://dl.dropboxusercontent.com/u/136334834/PBRTK/PBRTK_v0_2.zip (I had also this in the same folder where I saved it, don't remember if it was related somehow, but it treated 3dsmax shader fx…
Just tested in Max 2014 and Nitrous and the script spits out errors about missing albedotexture in null etc... Directly in the script's "on create" handler., when trying to assign the albedo texture . Switching to DirectX mode fixes that. Same is true for Max 2015 and nitrous I'm not sure wether the things your scripts…
hope you don't mind but i looked through the shader code a little. for pbr you don't use emission for either the diffuse or specular IBL, they both get added to the diffuse/specular response as applicable. also, you're not doing any kind of importance sampling for your IBL, you're just scrolling through the mip levels…