photomg1 wrote:Ha Loe,
Its not the same as an emitter.Why else do you think they exist in other render engines if its just an emitter. If it was offered in the software , I'm sure it would
be an option as to whether you could use it or not.Hence those wishing to have classical unbiased render could choose to use it or not, just like you have the option
with caustics on/off and dispersion at present.These options are there to save on render time and noise.
If you have an emitter in the window and want to have another light i.e sun shining through as well you would have to turn the original emitter in the window invisible
to global illumination .You would then be back to the original problem of noise.The emitter in the window visible to global illumination traps the rays in the room hence
the faster clearing of noise.But that is hardly unbiased either is it.
Cant really understand why anyone would be against them other than for scientific reasons , even then just dont use them if they become an option and those are your needs.
I never coded my own render engine but did some research a while ago and have some experience in game graphics (which in essence is very biased rendering), so please take the following more as an educated guess:
Biased engines calculate each light effect (specular, diffuse, ambient occlusion, global illumination,...) in independent and separate passes. So each effect can be optimized. They generally only calculate light and geometry that is visible to the camera. In games, portals are used to partition geometry into rooms and check for visibility. If the portal is not visible, you don't need to bother about any geometry inside the connected room... Likewise for specular light: if the portal isn't "visible" to the object, you don't need to check any of the rooms lights. Since only few polygons will be actually lit by the portal, this can speed up the tracing.
GI in biased engines is simulated by sampling the specular light that hits the surfaces and reemitting this light a set number of times. Again, a portal can be used to check, whether a portion of the room is actually lit from outside. Portals typically cut this bouncing off and separate GI in the rooms, speeding calculations up.
Unbiased engines cannot separate geometry into rooms, because the whole concept is about emitters casting light into the scene and collecting it with a camera. If you would want to separate rooms, you would need to calculate luminous flux across the portal, emitt the light into the next room, ignore or handle light, that emerges from this room or bounces back... essentially making the whole thing either highly inefficient or a biased engine. You are right, with an emitter window you just manually bias the process and an internal solution might spare the time. But for maxwell to calculate the portal would mean a whole render for each portal. ...I hardly can see the potential speedup here.
If you have two largely different emitters like a candle and the sun, a biased engine needs to balance the number of photons each source emitts into the scene. With only few photons passing through the windows and few emitted by the candle, while thousands harmlessly hit the exterior walls, the camera will take forever to collect a sufficient amount of photons, with or without a portal. Emitter only interiors clear faster, because the emitters are better balanced. If you make one emitter bright as the sun and add a single candle, you will be back to square one with a noisy interior. The only kind of biased thing, Maxwell does is to check for fully closed rooms (i.e. windows sealed with visible emitters) and ignore all sources outside that enclosure.
In contrast, the biased engine just checks for the visible lights for the current pixel and adds up their intensity. So the fact that biased engines have fewer problems with sun+candle situations is probably not because of sky portals, but because of the biased concept of rendering.
...so this is why I think that asking for sky portals is like asking for fire to be wet.
On a side note: dispersion and caustics are effects that add to the realism of the light calculation. They are calculated as each photon interacts with the scene. Because they can have little effect to the overall look of the scene, you can skip them and save the time. Do not confuse them with the "caustics" simulation of a biased engine.