2015-10-28 1:00 GMT+01:00 Mário Luzeiro <[email protected]>:
> Hi Nick,
>
> Yes, I (probably) thought about that at the time and I did not consider it 
> for some reasons (in no specif order but that makes sense altogether ):
>
> - One of the big hard task on this was to convert the pcb from kicad into a 
> structure of objects to render. (layers, segments, polygons, modules,...) 
> This was so far about 1/3 of the work I had.
> - The current 3d-viewer is a triangle based render. It need to convert every 
> item to multiple triangles (ex a segment is converted in lots of triangles). 
> One thing that is slowing down the pre-computation in the current 3d-viewer 
> is the hole extraction (that will create more and more triangles), other is 
> the polygon tesselation. (please read the next point)
> - Most of top raytracers (i.e.: the ones that use SIMD instructions) are just 
> triangle oriented, so, related with the point before, there was no much 
> improvement to (spend time) convert everything to triangles. (My 
> implementation uses tailored shapes like segments, etc and uses CSG to remove 
> the holes so the pre-calc are very reduced as it removes the objects in run 
> time)
> - Most of the top raytracers (..that using SIMD) are using very recent CPU 
> features (SSEx, AVX), that will not work on all computers.
> - If I think using a good raytracing generic (i.e: not only triangles) 
> library, they are usually huge and I guess it will be an issue to approve 
> it(licences.. etc) to be integrate in kicad. Or in other way I could end with 
> an external software piece to render kicad board.. but.. in that case it 
> would be better to improve the exporters to render in a 3rd part software 
> (eg: blender..etc)

Ok, I was just wondering, thank you for your answer.

> - I have in mind to try to make it as fast / interactive as possible, so it 
> will need some specific implementation.. some hacks .. that will target this 
> specific propose.

I understand. Speed is definitely an issue with big boards. But I am
no export in ray tracing characteristics, but what is the scalability
of your implementation in reagard to board complexity (lots of holes
and lots of other objects) and seperately about the screensize?

> ... and I was a bit bored and need some motivation :) It was an area that I 
> used to have fun so I try do something useful this time...
> and so on.
>
> Mario

As long as you can keep the motication, everything should be good :)

>
> ________________________________________
> From: Nick Østergaard [[email protected]]
> Sent: 27 October 2015 23:04
> To: Mário Luzeiro
> Cc: [email protected]
> Subject: Re: [Kicad-developers] 3D-Viewer Raytraced render
>
> Hi Mário,
>
> This is some good news. I know this might be a bit late, but I wonder;
> have you considered to use some other ray tracing engine instead of
> writing it yourself? I was thinking about the Cycles rendering engine
> used in Blender. It is Apache 2.0 licensed. They have some tine info
> it as a standalone at [1] and the source repo is a [2].
>
> I will try it out when I get the chance.
>
> Regards
> Nick
>
> [1] http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/Standalone
> [2] https://developer.blender.org/diffusion/C/
>
> 2015-10-27 23:27 GMT+01:00 Mário Luzeiro <[email protected]>:
>> Hello all,
>>
>> I would like to show you some screenshots of the progress of a 3d-viewer 
>> render based on raytracing (with some vitamins) that I am working on:
>> https://meocloud.pt/link/aaf06e3f-e308-40c8-bddb-f8aa762b4a16/20151027_3d-viewer/
>> (please download the file image if you want see it in full resolution)
>>
>> To keep this email short, I will not add details, please feel free to make 
>> any questions.
>>
>> There are (at moment) two modes of rendering: preview (while moving) or 
>> quality rendering. In preview mode it render a fast draft  in order to get 
>> some interactive framerate while adjusting the view of the board. So the 
>> screenshots label as 'preview' shows it to compare draft/quality.
>>
>> The quality rendering time.. depends on how many CPUs you have and (special) 
>> how fast your cache is. In my laptop, 8 cpu processor, it can take longer 
>> than a eye blink.. ..probably two or three eye blinks.
>>
>> If you would like to try it in your machine, you can try built my branch:
>> https://code.launchpad.net/~mrluzeiro/kicad/kicad_new3d-viewer
>> (probably have issues to build on windows)
>>
>> There are still lot of room for improvements, ideas and things to do ... 
>> special, add of 3D models (Cirilo is working on path, plugins and cache of 
>> models, I plan to start next working on a parser or adding some support to 
>> display the 3D models by the render... )
>>
>> I would welcome anyone interested in this areas to join us to speed up the 
>> development or add a little more of improvements.
>>
>> Cheers,
>> Mario Luzeiro
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to