kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #23657
Re: Some new sweet features on the new 3D-Viewer
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
Follow ups
References