<div dir="ltr">It&#39;s not refraction that is the serious issue here but diffraction.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 9 April 2014 16:20, storm <span dir="ltr">&lt;<a href="mailto:kartochka22@yandex.ru" target="_blank">kartochka22@yandex.ru</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Why not Cycles? It is best integrated with Blender, have very well<br>
tested for years, have two features not related to physical property of<br>
light or anything (think general quasi monte carlo integrator<br>
framework), optimal triangle/ray intersection test and QMC generator.<br>
And it already work on some GPU as well as most CPU on planet.<br>
<br>
1. Try to get a bit familiar with general build process, ckeckout<br>
blender git tree, compile it, enjoy awesome real time Cycles preview<br>
wingow.<br>
<br>
2. Look at /blender/intern/cycles/kernel/kernel_path.h that contain most<br>
inner integrator loop, function  kernel_path_integrate() (there are many<br>
similar named in that file, ignore them for now, they are only for very<br>
special cases)<br>
<br>
3. Look at line &quot;bool hit = scene_intersect(kg, &amp;ray, visibility,<br>
&amp;isect);&quot; it is most time consumer, test arbitraty ray with scene and<br>
return hit related data. Think how to reuse it in your case (i think in<br>
can be used as is w/o any modification)<br>
<br>
4. A bit more complex is main Monte carlo intergator guts close to the<br>
and of loop. Basicaly, qmc generator for dimension used<br>
&quot;path_state_rng_2D(kg, rng, &amp;state, PRNG_BSDF_U, &amp;bsdf_u, &amp;bsdf_v);&quot;<br>
<br>
You can stick with path_rng() instead, it return float random sample<br>
between [0,1] for given dimension. You can reuse it for your case, to<br>
sample direction, or polarisation vector, or spectre, only need to add<br>
new dimension in kernel_types.h file.<br>
<br>
>From my Point of view, you just need to add few dimensions to qmc<br>
(wavelength, and for polarisation ), and make special BSDF node to<br>
respect them. Few changes, and you get good interactive playground for<br>
your task, with endless possibilities as saving scene, converting<br>
geometry data from many formats, ability to render it as usual light for<br>
debug reason.<br>
<br>
<br>
В Ср, 09/04/2014 в 19:39 +1000, Trevor Anderson пишет:<br>
<div class="HOEnZb"><div class="h5">&gt; Thanks heaps everyone, I&#39;ll have a look into Lux and pbrt.<br>
&gt; Audio rendering is an interesting idea. Definitely something worth<br>
&gt; considering.<br>
&gt;<br>
&gt; I was hoping that at least initially I could limit myself to<br>
&gt; considering large/smooth enough targets that the optical assumptions<br>
&gt; of light would be sufficient.<br>
&gt; I plan on taking some test images with a mmW radar system to compare<br>
&gt; to, so I will pay close attention to the interference patterns and may<br>
&gt; need to take another approach, thanks for the input.<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Trev.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Apr 9, 2014 at 6:56 PM, Ton Roosendaal &lt;<a href="mailto:ton@blender.org">ton@blender.org</a>&gt;<br>
&gt; wrote:<br>
&gt;         Hi,<br>
&gt;<br>
&gt;         For physical accurate wavelength mechanics (millimeter waves<br>
&gt;         interference and interaction with matter) you  might have to<br>
&gt;         build a complete independent system - I&#39;m afraid neither<br>
&gt;         cycles or lux would help much here. You probably could<br>
&gt;         investigate audio rendering (auralization).<br>
&gt;<br>
&gt;         Light is in the nanometres spectrum, which allows a lot of<br>
&gt;         assumptions and models to simulate an environment where light<br>
&gt;         goes around and how to render it. These assumptions I wouldn&#39;t<br>
&gt;         make for mm waves.<br>
&gt;<br>
&gt;         -Ton-<br>
&gt;<br>
&gt;         --------------------------------------------------------<br>
&gt;         Ton Roosendaal  -  <a href="mailto:ton@blender.org">ton@blender.org</a>   -   <a href="http://www.blender.org" target="_blank">www.blender.org</a><br>
&gt;         Chairman Blender Foundation - Producer Blender Institute<br>
&gt;         Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;         On 9 Apr, 2014, at 8:34, Michael Fox wrote:<br>
&gt;<br>
&gt;         &gt; I would recommend looking into Luxrender as it has full<br>
&gt;         spectral rendering, and is free and opensource and have very<br>
&gt;         nice blender intergration, i would ask the luxrender people to<br>
&gt;         help you, they are very helpful<br>
&gt;         &gt;<br>
&gt;         &gt; On 09/04/14 16:24, Trevor Anderson wrote:<br>
&gt;         &gt;&gt; Thanks Lukas.<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; I will take a more serious look at that then. :)<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; Regards,<br>
&gt;         &gt;&gt; Trev.<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; On Wed, Apr 9, 2014 at 2:41 PM, Lukas Stockner<br>
&gt;         &lt;<a href="mailto:lukas.stockner@freenet.de">lukas.stockner@freenet.de</a>&gt; wrote:<br>
&gt;         &gt;&gt; Hi,<br>
&gt;         &gt;&gt; for a project like this, I wouldn&#39;t go for Cycles since it<br>
&gt;         has no spectral rendering support and a quite complicated<br>
&gt;         integrator code.<br>
&gt;         &gt;&gt; My choice would be PBRT, since it has spectral support,<br>
&gt;         clean and simple code and great documentation in form of a<br>
&gt;         book :)<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; Lukas Stockner<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; Am 09.04.2014 01:38 schrieb Trevor Anderson<br>
&gt;         &lt;<a href="mailto:trevor.g.anderson@gmail.com">trevor.g.anderson@gmail.com</a>&gt;:<br>
&gt;         &gt;&gt; &gt;<br>
&gt;         &gt;&gt; &gt; Hi all,<br>
&gt;         &gt;&gt; &gt;<br>
&gt;         &gt;&gt; &gt; I am fairly new to blender and to development for that<br>
&gt;         matter. So if anyone can point me in the right direction that<br>
&gt;         would be much appreciated. Specifically if there is perhaps<br>
&gt;         another open source ray-tracing tool that might be better for<br>
&gt;         what I am looking to do.<br>
&gt;         &gt;&gt; &gt;<br>
&gt;         &gt;&gt; &gt; I am looking to use cycles to simulate millimetre<br>
&gt;         wavelength radio wave imaging. As part of that I suppose I<br>
&gt;         would be looking at trying to track polarization of the rays,<br>
&gt;         but primarily changing the wavelengths captured by the camera.<br>
&gt;         Ideally also exporting range information too.<br>
&gt;         &gt;&gt; &gt;<br>
&gt;         &gt;&gt; &gt; I was wondering if any of this had been done already,<br>
&gt;         even for something like infra-red or hyper-spectral imaging,<br>
&gt;         something that would give me a starting point.<br>
&gt;         &gt;&gt; &gt;<br>
&gt;         &gt;&gt; &gt; Thanks,<br>
&gt;         &gt;&gt; &gt; Trev.<br>
&gt;         &gt;&gt; _______________________________________________<br>
&gt;         &gt;&gt; Bf-cycles mailing list<br>
&gt;         &gt;&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;         &gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; _______________________________________________<br>
&gt;         &gt;&gt; Bf-cycles mailing list<br>
&gt;         &gt;&gt;<br>
&gt;         &gt;&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;         &gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;         &gt;<br>
&gt;         &gt; _______________________________________________<br>
&gt;         &gt; Bf-cycles mailing list<br>
&gt;         &gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;         &gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;<br>
&gt;         _______________________________________________<br>
&gt;         Bf-cycles mailing list<br>
&gt;         <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;         <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Bf-cycles mailing list<br>
&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
<br>
<br>
_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
</div></div></blockquote></div><br></div>