Hello artists and devs,<div><br></div><div>I&#39;ve been working in an addon to help my pipeline with HDRI for lighting (IBL) and scene reconstruction. The ultimate goal is to make it more accessible to use high quality light-probe maps as background and lighting. If you think this can be of any use for you please share your thoughts and feedbacks.</div>

<div><br></div><div>Bear in mind that Cycles is not 100% there yet for this. I&#39;m currently working with luxrender. More specifically the arluxrender branch - which has an integrator that&#39;s been developed specially for this workflow. I do have some suggestions for cycles having arluxrender paradigm in mind. And would love to hear what would be the Cycles way or roadmap on those needs. Perhaps Mango will help with this.</div>

<div><br></div><div>Example of output:</div><div><a href="http://www.dalaifelinto.com/ftp/impa/cycles_pano.jpg">http://www.dalaifelinto.com/ftp/impa/cycles_pano.jpg</a></div><div>[background ibl plate + ibl toolkit calibrated scene + cycles &#39;use panorama&#39;]</div>

<div><br></div><div>To try the current snapshot of the addon:</div><div><a href="http://www.dalaifelinto.com/ftp/impa/ibl_toolkit_alpha.zip">http://www.dalaifelinto.com/ftp/impa/ibl_toolkit_alpha.zip</a></div><div>(please read the README that comes with it, and report eventual bugs directly to my email to avoid cluttering this list, feedbacks can be here)</div>

<div><br></div><div><br></div><div>What it does:</div><div>------------------</div><div>- calculate the orientation of the panorama image (HDRI)</div><div>it may be subtle, but panorama images tent to present a slight tilt. This is the most important part of the addon imho.</div>

<div>(e.g. extreme case: <a href="http://www.dalaifelinto.com/ftp/impa/tokyo-rotated.jpg">http://www.dalaifelinto.com/ftp/impa/tokyo-rotated.jpg</a> )</div><div><br></div><div>- project a selected rectangle (used for calibration) in the 3dworld, setting Z=0. You can pick the camera height or the plane dimensions and things are scaled accordingly.</div>

<div><br></div><div>- create the background nodes with one click (using a Vector Transformation node with the calculated orientation).</div><div>(it works with Cycles, Luxrender and ARLuxrender)</div><div><br></div><div>
- help you to reconstruct polygons (think about floor boundary), squares and circles that are on the floor. From the image to the 3dview.</div>
<div><br></div><div><br></div><div>Problem with the current workflow:</div><div>---------------------------------------------------</div><div>- cycles shaders do not work while in edit mode. Although I don&#39;t care about the object materials, it would be really nice to have the background shaders working. I&#39;m trying to build an alternative with bgl and glsl shaders on top of the 3dview, but it&#39;s too tacky. I need the background</div>

<div>(the other alternative is to do partial renders of the HDRI to use as &#39;Background Image&#39;. Not as elegant as having the actual panorama showed in edit mode).</div><div><br></div><div><br></div><div>Things I can do with ARLuxrender that I would like to do with cycles:</div>

<div>----------------------------------------------------------------------------------------------------</div><div>* ARLuxrender - <a href="http://w3.impa.br/~zang/arlux/">http://w3.impa.br/~zang/arlux/</a></div><div>* ARLuxrender workflow: <a href="http://vimeo.com/39547247">http://vimeo.com/39547247</a></div>

<div>* example of render: <a href="http://www.luxrender.net/forum/download/file.php?id=16143&amp;mode=view">http://www.luxrender.net/forum/download/file.php?id=16143&amp;mode=view</a></div><div><br></div><div>ARLux implements an object property that tells the renderer that this is an AR object.</div>

<div>This object will receive shadows and cast colour around. But the information comes from a mix of the HDRI image, the material info (diffuseness, ...) and the object geometry.</div><div><br></div><div>For diffuse color: the colour information comes from the infinite (assuming the HDRI was taken around the camera) so the camera sees &#39;through&#39; the object and show the HDRI colour.</div>

<div><br></div><div>For casted shadows: it works like the 2.49 &#39;only shadows&#39; material. Internally it&#39;s doing some inverse calculation of the light contribution. </div><div><br></div><div>For reflection: if the reflection ray from the camera hits the object and find an AR object, it will show the colour that the camera sees when looking at the HDRI in the direction of the hit point (i.e. a sphere will reflect a wall from the HDRI based on the modelled wall position, not the &#39;infinite&#39;).</div>

<div>* no need for camera projection UVmapping of any sort (nor would that work well without subviding the objects multiple times).</div><div><br></div><div>For lighting: (current implementation): lighting comes directly from the HDRI, not taking any AR geometry into consideration (not so nice)</div>

<div>(proposed idea): similar with reflection, the AR object is considered as reference origin for the light rays, though the information comes from the HDRI.</div><div><br></div><div><br></div><div>Final considerations:</div>

<div>------------------------------</div><div>I would like to use this system with Cycles as well. I don&#39;t think camera-uvmapping + reproduction of the textures should be the only way for this. Any other suggestions for workflow?</div>

<div><br></div><div>Also don&#39;t take this as &#39;I&#39;m using Luxrender because blender can&#39;t do this this and that&#39;. This is really not the idea here. I&#39;m using (AR)Lux simply because I&#39;m working currently at the same lab as Aldo Zang (ARLux creator/dev).</div>

<div><br></div><div>And Brecht thanks a lot for the &#39;use_panorama&#39; mode. This is absurdly awesome.</div><div><br></div><div>If you see a use for this, please speak your mind.</div><div>--</div><div>Dalai</div>