← Back to team overview

kicad-developers team mailing list archive

Re: Some new sweet features on the new 3D-Viewer

 

Hi Maurice,

> that was me pointing out of Raytracing in Blender :) ...
Sorry Maurice, I wrote Nick but I was thinking on you :)


> anyway maybe it could be useful to just Raytrace a scene as positioned/zoomed in OpenGL render engine... in Blender that is the way is done...

I didnt understood,
Could you better explain this?


> Just a feedback on release 5921... in win8-64b-wx3.02 I get the
> rendering hanging and the progress status locked to 25%...
> also waiting looong time I don't get any rendering out ...

work in progress.. wait :) .. It was working on Linux.. but not on Windows.. some issue with threads (openMP) and wxWidgets... I will fix it latter..

Mario Luzeiro

________________________________________
From: easyw [easyw@xxxxxxxxxxxx]
Sent: 07 March 2016 12:22
To: Mário Luzeiro; kicad-developers@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Kicad-developers] Some new sweet features on the new 3D-Viewer

Hi Mario,

> On relation to Raytracing,
> As Nick already pointed, similar images rendered in other softwares (eg: Blender) could take minutes to render.
that was me pointing out of Raytracing in Blender :) ...
anyway maybe it could be useful to just Raytrace a scene as
positioned/zoomed in OpenGL render engine... in Blender that is the way
is done...

> I can confirm issues found by Nick:
> - in opengl Mode building the 3D view roughly takes 3 times the
> calculation time of stable or 3d initial merge version for the same board.
I can confirm that slower rendering time also in OpenGL in
win8-64b-wx3.02, but just the first time, after the cache is built the
rendering time is much faster (about 1/10)
Anyway I think it would be useful to fix also the first rendering time

about the improvement for the "pivot and rotation center", I think at
the moment the pivot is just fine; kicad is not a MCAD sw, so for
inspecting the board and parts, the actual implementation is just much
better the previous one with a fixed centered pivot...

Just a feedback on release 5921... in win8-64b-wx3.02 I get the
rendering hanging and the progress status locked to 25%...
also waiting looong time I don't get any rendering out ...

Maurice




On 06/03/2016 17.53, Mário Luzeiro wrote:
> Thanks Jakub for testing and your feedback!
>
> @Jakub, @Nick, @JP,
>
> On relation to Raytracing,
>
> "I found that low resolution can be only seen after zooming/rotating
> before render is done, but because render takes long time so then it can
> be seen as low resolution view for long time. In raytracing mode the
> render is made for all board. So when board is zoomed in or rotated then
> it can be seen in low resolution until a new render is done. But more
> zoomed board needs more details. So all board must be rendered again in
> better resolution and it takes more time than zoomed out board."
>
>
> I think this describes exactly how it was implemented.
> There are still room for improvements and suggestions are welcomed to do it in a different way.
>
> The fact is that Raytracing is a natural slow (or not, depends) algorithm. (No, it cannot be accelerated by GPU in this case)
> As Nick already pointed, similar images rendered in other softwares (eg: Blender) could take minutes to render. So what I implemented was some compromise to get a rendering in some seconds.
>
>
> So because it is a slow rendering method, there is a preview mode, the way I have it implemented at moment is:
>
> - Camera movements (and after loading or change parameters): "low resolution" preview mode.
> - You can do more movements during 1s and it will keep the "preview mode".
> - After 1s idle (after last movement), it will start working on the final render.
>
> A possibility would be to add a button "Click to render as Raytracing" and as Jakub said, there is no need to switch between render mode options.
>
>
>> Can you add into status bar a rendering progress ?
>
> I didn't find a way yet to do it.. but I keep investigate.
>
> I will reply your other questions and feedback latter...
>
> Thanks!
> Mario Luzeiro
>
> ________________________________________
> From: Jakub Kozdon [fldrivers@xxxxxxxxx]
> Sent: 06 March 2016 16:27
> To: Nick Østergaard; Mário Luzeiro
> Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Kicad-developers] Some new sweet features on the new 3D-Viewer
>
> Hi Mário,
>
> I was testing 5912. New features looks promising.
>
> I can confirm Nick's issues. Low resolution in raytraing mode and long
> render time. Long render time leads to "Program is not responding" in
> Windows.
>
> I found that low resolution can be only seen after zooming/rotating
> before render is done, but because render takes long time so then it can
> be seen as low resolution view for long time. In raytracing mode the
> render is made for all board. So when board is zoomed in or rotated then
> it can be seen in low resolution until a new render is done. But more
> zoomed board needs more details. So all board must be rendered again in
> better resolution and it takes more time than zoomed out board. So maybe
> you can made a raytracing only as option for exporting an image or made
> it default for exporting an images and OpenGL mode use only for 3D
> viewer. So user do not need to switch renderer engines.
>
> I found one bug. In OpenGL after first open of 3D viewer the traces,
> holes and maybe other has square shape.
>
> Can you add into status bar a rendering progress ?
>
> And is possible to do some render in GPU ? I have Nvidia NVS 3100M and
> i5 M520 CPU.
>
> I have two improvements for "pivot and rotation center". The first is
> that animated arrow can be made persistent and movable by mouse to
> getting the center at desired location. And the second improvement is on
> top of the first. When user moves the arrow so that arrow can be sticked
> to models - surface, center, edges - selectable by user, or somehow
> intelligent.
>
> Nicks sidenote - for cutting board artworks, it can be shown with some
> transparency to better imagine where the board edge is.
>
> Jakub
>
> Dne 5.3.2016 v 10:55 Nick Østergaard napsal(a):
>> .2016-03-05 0:22 GMT+01:00 Mário Luzeiro <mrluzeiro@xxxxx>:
>>> Hi NickOe,
>>>
>>> tanks for testing it!
>>>
>>> The issues you describe I didn't experienced it yet, would you like to try a latest version?
>>> I am testing on a linux machine and on a windows machine.
>> I was testing 5909 Fix an issue on raytracing it was not reset a bbox.
>> of lp:~mrluzeiro/kicad/kicad_new3d-viewer
>>
>> This is on archlinux x86_64.
>>
>> I will retest with 5912.
>>
>>> What CPU do you have?
>> Intel(R) Core(TM) i5 CPU       M 540  @ 2.53GHz
>>
>> That is two cores, and I have enabled hyperthreading.
>>
>>> On Raytracing, complex boards will take about 10seconds per CPU core just for rendering, it means if you have more cores it should take less. (depending also on the resolution)
>>>
>>> Regarding the load times, I was expecting the same or faster (it should be faster in the future even more).
>>>
>> Currently I am mostly concerned about the time that I open the
>> 3dviewer untill I can see my board (in opengl).
>>
>>>> I have also noticed that there are not holes rendered in the solder
>>>> paste in the opengl view.
>>> (I believe you mean solder mask ?)
>> On a second though, I mean solder paste and solder mask actually. :)
>>
>>> Since I received lots of requests (you and Maurice :P)
>>> I implemented that feature (on solder mask) in my latest commit.
>>>
>>> I was not very clear on if / how should I implemented the holes of the vias.
>> The old viewer shows holes in the solder make and paste at least.
>>
>>> Since there is no information to remove solder mask, that in the fab. will be "tented" vias.
>>> I leave it as discussion.Maybe I can add an option to remove it or not... but at moment it is by default implemented.
>>>
>>> There is an issue with that.. this is only work (at moment?) with THT vias.
>>> So it will not remove if it is a "micro via" between B_Cu/F_Cu and a inner layer.
>> I am not too concerned about the microvias, personally. My concern was
>> only on though hole pads such and the normal vias.
>>
>> I see your implementaiton of the holes in the mask now. But it looks
>> like the plating tube of the hole is smaller than the hole, is that
>> how it was intended?
>>
>> In trying to test the render speed, I tried to change an option in the
>> of the mask, it takes about 19 seconds, measured with a stopwatch
>> manually. It looks like only one thread is execution when looking at
>> the CPU usage in top. It is on 100% and the other three are below 15%
>> as when idling.
>>
>> A slight bug I noted that, I saw that the pivot point is reset after a
>> setting change to the viewer.
>>
>>> Hope advanced users that develop multilayer boards dont request it much! :P
>> On a sidenote; what was your plan on actually cutting board artworks
>> such as silk and pads and such that was outside of the board edge? If
>> implemented, I hope this will happen sometime in the future, then it
>> should be an option that can be enabled or disabled for the viewer.
>>
>>> Let me know when you try the latest updates...
>>>
>>> Mario Luzeiro
>>> ________________________________________
>>> From: Nick Østergaard [oe.nick@xxxxxxxxx]
>>> Sent: 04 March 2016 18:23
>>> To: Mário Luzeiro
>>> Cc: easyw; kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Subject: Re: [Kicad-developers] Some new sweet features on the new 3D-Viewer
>>>
>>> Hi Mario
>>>
>>> I just tried your branch the other day, but there the raytracing did
>>> not seem work properly at all. It was not rendering anything sometimes
>>> and when it did it was one of the very low res views. I don't remeber
>>> the revno, have you see this before? (I have not tried the latest of
>>> today yet, in case you already fixed it).
>>>
>>> I have a desing in similar complexity as that board and maybe a bit
>>> less, but it takes 17 seconds to load the board in the 3d view,
>>> whereas in the 3d viewer in 4.0.2 it takes 3 seconds for it to render
>>> in the 3d viewer.
>>>
>>> I have also noticed that there are not holes rendered in the solder
>>> paste in the opengl view.
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>


Follow ups

References