Hi Wayne,
Thanks for had time to testing it.

> although I'm not 100% sure what it buys us

For an occasional 3D-Viewer user that was using the stable version of KiCad and 
will use this version,
if the user is "distracted", he/she shouldn't notice any changes at first.
Everything in general should work similar as before and things are on the same 
places.

However, from a backstage view point, the 3D-viewer source code was refactored 
and almost everything is new code: from 3d files parser plugins, wxWidget code 
to rendering targets..
It has a much more structured design and use new data structures both for the 
board construction and 3D models.
So, hopefully, it will be easier in future to add new features using this new 
framework.

One noticeable new feature the 3d rendering of the footprint while assigned new 
3D shapes (Footprint 3d properties dialog)
User will be able to align while browsing the 3D footprint.
That was possible because the 3d-viewer canvas was detached from the 3d-viewer 
window.
In future should be possible to easily add this new canvas to other dialogs.

Although, new features can be listed already:
- Faster loading, special on 3D models (* the board loading still can be more 
optimized in future)
- OpenGL render is "is noticeably faster than the old one." [1], [2]
- Use of new 3D plugins (WRL, X3D, STEP and IGES [3])
- Preview of 3D model while browsing the file name (already implemented in the 
main branch, using source from the new 3D-viewer)
- 3D preview of the footprint while adding/align 3D shapes. [4]
- Render of 3D models accordingly the attributes (Normal, Normal+Insert, 
Virtual) On 3D-Viewer: Preferences->Show 3D models. Shortcuts: [5]
- Pivot rotation and center [6]
- Animated camera [7]


Example of future features that could be easily implemented in future:
- Faster board loading (provide some changed need on pcbnew)
- 3D exporters (using the generated structures of the board)
- Easy access in realtime to point&click 3D information (eg: 3d shape 
information, track/layers information, etc)
- New render targets (if someone is not happy with the existent ones, a GPU 
shader render can be implemented for instance)


> povray

To clarify, there is no integration or any kind of relation at moment with 
POV-ray.
I believe you mean "raytracing" instead of "povray"

> My biggest gripe is that the povray rendering button on the toolbar doesn't
> give any feedback as to whether or not the povray rendering is enabled.
> It would be nice if this was a toggle button rather than having to go
> into the menu to see which mode is being rendered.

As Nick already explained, that is expected to be a "Render current view as 
Raytracing" single click, while you are on OpenGL mode.
Maybe what could make sense is to disable (grey) that icon if the user switches 
to "Raytracing target" mode (as it does not make sense to render in raytracing 
as it is already in that mode and the render will be automatically )

That icon, will make a render using the "Raytracing target" with the current 
options, but as soon as the user moves the board it will back on "OpenGL 
target".


> The performance not so much but such is the case with povray

Do you (anyone?) have any comparison / example for benchmarking?

I expect that the results are much more faster than, but the quality will not 
be as high (or can be improved latter, spending more time rendering) as other 
proper software renders.
>From my research I found similar results (using POV-ray) that took about 
>minutes up to hours to render.
(eg: Cirilo reported here renders of about 15m on Solidworks)
On comparison, on my CPU, on the most complex renders, I takes not more than 
10s (typical about 4s)
There is lot room for visual improvements as well.


> Other than that, the only thing you need to resolve is any outstanding 
> crash/freeze bugs

The only one pending is the one found by JP, I was not able to reproduce yet on 
any of my systems. I fixed already the other crash because of missing round 
rect pads.
There is also one little glitch that I experienced, sometimes (randomly) on 
raytracing the last pixel blocks are not draw for some reason that I am 
investigate.

Other kind of issues may be expected as soon as more users get access to it, 
but so, that is why it needs testing.


Did you had any general look on the source code?
Do you have any comments in general? Any vectors for improve on any particular 
files / modules?
Maybe if someone (the project committers?) could have a quick review and point 
me on any findings, I could then use it to review all the source with that 
points.

Regards,
Mario Luzeiro

[1] 
https://forum.kicad.info/t/testing-needed-new-3d-plugin/2808/38?u=kammutierspule
[2] https://bugs.launchpad.net/kicad/+bug/1511370/comments/9
[3] https://github.com/cbernardo/kicad_oce_3d
[4] 
https://kicad-info.s3-us-west-2.amazonaws.com/original/2X/3/3bb2529f7be362367b54ba13bbc647cc6b3f3044.png
[5] Normal, shortcut: 'T' (as in THT), Normal+Insert, shortcut: 'S' (as in 
SMD), Virtual, shortcut: 'V' (as in .. Virtual)
[6] Click with *middle button* or press *spacebar*, it will center the board at 
the mouse cursor and that will become the center of rotation.
[7] When you press view keys, the camera will be smooth animated, shortcuts: 
z/Z, x/X, y/Y, r(reset), F1(zoom in), F2(zoom out), cursor(pan)

________________________________________
From: Wayne Stambaugh [stambau...@gmail.com]
Sent: 20 June 2016 13:45
To: Mário Luzeiro; kicad-developers@lists.launchpad.net
Subject: Re: 3D-Viewer - Request for merge evaluation

I had some time over the weekend to look at this and I'm satisfied with
it although I'm not 100% sure what it buys us.  The eye candy is nice.
The performance not so much but such is the case with povray.  My
biggest gripe is that the povray rendering button on the toolbar doesn't
give any feedback as to whether or not the povray rendering is enabled.
It would be nice if this was a toggle button rather than having to go
into the menu to see which mode is being rendered.  Other than that, the
only thing you need to resolve is any outstanding crash/freeze bugs
before I would be willing to merge it into the product branch.

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to