<div dir="ltr">It'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"><<a href="mailto:kartochka22@yandex.ru" target="_blank">kartochka22@yandex.ru</a>></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 "bool hit = scene_intersect(kg, &ray, visibility,<br>
&isect);" 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>
"path_state_rng_2D(kg, rng, &state, PRNG_BSDF_U, &bsdf_u, &bsdf_v);"<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">> Thanks heaps everyone, I'll have a look into Lux and pbrt.<br>
> Audio rendering is an interesting idea. Definitely something worth<br>
> considering.<br>
><br>
> I was hoping that at least initially I could limit myself to<br>
> considering large/smooth enough targets that the optical assumptions<br>
> of light would be sufficient.<br>
> I plan on taking some test images with a mmW radar system to compare<br>
> to, so I will pay close attention to the interference patterns and may<br>
> need to take another approach, thanks for the input.<br>
><br>
> Cheers,<br>
> Trev.<br>
><br>
><br>
><br>
><br>
> On Wed, Apr 9, 2014 at 6:56 PM, Ton Roosendaal <<a href="mailto:ton@blender.org">ton@blender.org</a>><br>
> wrote:<br>
> Hi,<br>
><br>
> For physical accurate wavelength mechanics (millimeter waves<br>
> interference and interaction with matter) you might have to<br>
> build a complete independent system - I'm afraid neither<br>
> cycles or lux would help much here. You probably could<br>
> investigate audio rendering (auralization).<br>
><br>
> Light is in the nanometres spectrum, which allows a lot of<br>
> assumptions and models to simulate an environment where light<br>
> goes around and how to render it. These assumptions I wouldn't<br>
> make for mm waves.<br>
><br>
> -Ton-<br>
><br>
> --------------------------------------------------------<br>
> 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>
> Chairman Blender Foundation - Producer Blender Institute<br>
> Entrepotdok 57A - 1018AD Amsterdam - The Netherlands<br>
><br>
><br>
><br>
> On 9 Apr, 2014, at 8:34, Michael Fox wrote:<br>
><br>
> > I would recommend looking into Luxrender as it has full<br>
> spectral rendering, and is free and opensource and have very<br>
> nice blender intergration, i would ask the luxrender people to<br>
> help you, they are very helpful<br>
> ><br>
> > On 09/04/14 16:24, Trevor Anderson wrote:<br>
> >> Thanks Lukas.<br>
> >><br>
> >> I will take a more serious look at that then. :)<br>
> >><br>
> >> Regards,<br>
> >> Trev.<br>
> >><br>
> >><br>
> >> On Wed, Apr 9, 2014 at 2:41 PM, Lukas Stockner<br>
> <<a href="mailto:lukas.stockner@freenet.de">lukas.stockner@freenet.de</a>> wrote:<br>
> >> Hi,<br>
> >> for a project like this, I wouldn't go for Cycles since it<br>
> has no spectral rendering support and a quite complicated<br>
> integrator code.<br>
> >> My choice would be PBRT, since it has spectral support,<br>
> clean and simple code and great documentation in form of a<br>
> book :)<br>
> >><br>
> >> Lukas Stockner<br>
> >><br>
> >> Am 09.04.2014 01:38 schrieb Trevor Anderson<br>
> <<a href="mailto:trevor.g.anderson@gmail.com">trevor.g.anderson@gmail.com</a>>:<br>
> >> ><br>
> >> > Hi all,<br>
> >> ><br>
> >> > I am fairly new to blender and to development for that<br>
> matter. So if anyone can point me in the right direction that<br>
> would be much appreciated. Specifically if there is perhaps<br>
> another open source ray-tracing tool that might be better for<br>
> what I am looking to do.<br>
> >> ><br>
> >> > I am looking to use cycles to simulate millimetre<br>
> wavelength radio wave imaging. As part of that I suppose I<br>
> would be looking at trying to track polarization of the rays,<br>
> but primarily changing the wavelengths captured by the camera.<br>
> Ideally also exporting range information too.<br>
> >> ><br>
> >> > I was wondering if any of this had been done already,<br>
> even for something like infra-red or hyper-spectral imaging,<br>
> something that would give me a starting point.<br>
> >> ><br>
> >> > Thanks,<br>
> >> > Trev.<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>
> >><br>
> >><br>
> >><br>
> >> _______________________________________________<br>
> >> Bf-cycles mailing list<br>
> >><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>
> ><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>
><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>
><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>
<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>