https://gist.github.com/Farfarer/5664694IBL is a cubemap, basically. It's nothing "holy crap new technology". It's just a fancy (generic) term for stuff like cubemaps and (in offline rendering) HDRI's.
Sort of.
Image based lighting in games is generally composed of two cubemaps, one for the diffuse lighting, and one for the specular reflections. If you've got a good IBL system, you can control glossiness by saving various specular cubemaps with different levels of blur and then blending between them for the matte through mirror reflection spectrum.
So really you just need two cubemap lookups, which means you can do it on current gen, next gen, even some mobile platforms as well.
HDR refers to files with high dynamic range, and isn't really specific to cubemaps or IBL. A photograph can be HDR, a texture can be HDR, etc. Though generally high quality IBL systems will use HDR files for the cubemaps.
HDRI, Cubemaps, and IBL aren't really interchangable terms, though they do tend to hang out in the same whitepapers. =D
http://www.polycount.com/forum/showthread.php?t=124683&page=2PBR is not just about some realism, this realism is totally dependent from your artistic ideas ( Disney's Wreck-It Ralph for instance), this more in some cases about consistency, how consistent spec across all surfaces, how all objects react on environment, how they fit to the scene in every place.
All this old school - tweak a bit here and there - comes from inconsistency of surface behavior. This doesn't mean that system is forcing you to be less creative, instead gives you more power.
You could setup even now similar materials system for UDK which will bring you similar logic of consistent behavior of surfaces, with your own vision of physical behavior of materials.
What Epic's gave to artists with UE's layer system is insane ability to make more procedural artistic side of production, you can do more with less controls, it should be way simpler to combine different shaders with some additional functions like adding snow by Z vector or making surfaces wet below specific hight, or make them changeable with the time, and thanks to PBR there will be no problems to make all these sub elements behave exact same way across any part of the game.
Next gen is not about more polygons or more shader instructions, it more in changing approach from current crafting method to wise way of production, with higher quantity and quality content with smaller dev teams, in more predictable time, with simpler iterating of content and ability modify lots of things fast and simple
http://www.polycount.com/forum/showthread.php?t=124683&page=5A substance/surface/specular/reflectivity map, again all just different names for the same thing. Its a map to set the base reflectivity of the material (some shaders do away with it entirely in favor of gloss map and probably a global reflectivity value). What this texture looks like is again an art content question, if you're creating it logically where more reflective areas on the texture are brighter, that's going to work in TB1, and TB2, and any PBR system that has a base reflectivity map.
Roughness is just another word for a gloss map, and if black = rough or if black = glossy is just an implementation thing. The big deal with gloss maps and PBR is that rougher areas sample blurrier/dimmer areas of your IBL cube maps (and your dynamic light intensity fades with glossier reflections) because of energy conservation, which is how TB1 works as well.
http://www.polycount.com/forum/showthread.php?t=124683&page=8as a vray veteran and not a game artist heres the 'gist' of pbr and the new system and some possibilities that come from it.
ALbedo: its a diffuse map, it has no material information, no shadows, no highlights, just flat color. in sebastian legarde's paper he mentions his system has a exact color match from the viewport to photoshop if the light hitting the material is pure white.
normal maps: same thing as we use now.
roughness map: a slider that goes from a matte finish to a mirror finish
spec: not really spec, but how 'large' the specular highlight is, also possibly what color you want it. that last bit depends on the system.
--the following is regarding a specific implementation that is mentioned here---
ambient diffuse: basically a pre-baked GI cubemap that gets used to show light bouncing around on the object. pretty neat if you ask me.
ambient specular: the cubemap that reflects the environment, generated at runtime for best results. super low res at 256^2 res.
The first one colors in red pixels with albedo values under srgb 0.2 (in a 0.0-1.0 range) and in blue values above srgb 0.95
The second colors in blue pixels with spec color between rgb 0.08 and 0.5 and I guess red is for under 0.02
Speaking of spec debug mode I think they based it on that chart where they taken that non metals go into 0.02 - 0.08 range and metals go to 0.5 - 1.0 range. So probably all others values not included in there get painted as out of range.
http://www.polycount.com/forum/showthread.php?t=124683&page=8the shader system doesn't need to be complex at all... unless i'm reading your comment wrong?
the way i see it there are two ways of handling this kind of material system:
1. the art lead sits down and defines the look of the game by making a batch of say, 100 different material presets. the art team then composite those material presets using masks. then, depending on the engine these are either baked down to a final map (The Order: 1886), or they remain composited in realtime (EU4).
2. the artists control the various aspects of their material through maps, they would need (from what i would guess).
Albedo - coloured for dielectrics, black for metallics.
Base reflectivity - very dark (around 0.04?) for dielectrics, measured colour samples used for the various metals.
roughness - similar in concept to the gloss we currently use, but less confusing, no sliders etc.
I don't think you "need" it, but I do agree it makes things a lot more straightforward and easier to work with. Working on every texture channel separately is such an abstract concept, and a big reason why so many (new) artists struggle with texturing.
The only new thing is the specular reflectance / substance map - it will help to think of it as a substance map because it defines the material by describing how reflective the surface is at a given view angle and also affects the colour of the specular highlights.
You have to use values as defined in the various reference images because they're inputs to some cunning maths - its not a simple value as per your standard phong spec.
the system makes things more straightforward in the long run. If everyone does it properly you're not stuck balancing specular values for weeks at the end of a project and you dont have to dick about bending values to fit your lightimg. Also theres less parameters to mess with(break) in your shaders..
http://www.polycount.com/forum/showthread.php?t=124683&page=9In the past, it was usual to bake everything in a “diffuse” texture to fake lighting effects like shadow, reflection, specular… With newer engine, all these effects are simulated and must not be baked.
The best definition for diffuse color in our engine is : How bright a surface is when lit by a 100% bright white light [4]. This definition is related to the definition of light unit from the punctual light equation (See Adopting a physically based shading model).
http://seblagarde.wordpress.com/2011/08/17/feeding-a-physical-based-lighting-mode/The reason it's good to have a guide for colors and brightness values is you want to remove as much "eyeballing" of values as possible. What may look "correct" to you in a scene where you eyeballed the lighting and materials may result in too bright or (more often) too dark of a material. Imagine you're working in a scene that is overexposed (lighting is very bright) and you tweak your white cement to actually be very dark or grey in the material. Once you put it in a scene with correct lighting and exposure, it'll no longer be white cement, it'll look too dark.
One recommendation I have is while tweaking materials always have a copy of the mesh you're working on but with neutral gray applied to it, that'll help you make sure your exposure is correct while tweaking the working material. There was once I was tweaking something really complex like skin, nail the look then put it beside a finished/calibrated material and find out it was reflecting too much light. Having a few reference materials helps as well. Like when you're working on assets bring in one you know is finished and correct and make sure they look "right" next to each other.
ya because of this i tend to work on normals and lighting first, and flick back and forward between previewing my scene textured, and with just flat grey.
It's good to setup benchmark scene with Macbeth color chart inside. Of course it's still eye balled, but if colors on Macbeth char look ok, in scene we can assume that lighting is as neutral as we can get.
ue4
recap for artist
http://www.youtube.com/watch?feature=player_embedded&v=LpLBzV9uG0Y short
http://www.youtube.com/watch?feature=player_embedded&v=LNwMJeWFr0U long
TL;DR
Instead of painting color to feed shader you directly paint "material mask" by picking from material swatch, ie you paint copper, skin, chrome, plastic, cement, snow ... as if it was color ... and the occasional complex diffuse (if you don't pick it from a normalise photo) ... more efficient, more coherent, faster and better workflow. Bonus: it also save lots of memory and shader complexity and can be made inexpensive for slow machine.
edit:
energy conserving stuff
http://www.rorydriscoll.com/2009/01/25/energy-conservation-in-games/