← Back to team overview

kicad-developers team mailing list archive

Re: 3D-Viewer - Request for merge evaluation

 

Also the new 3D is really fast with Intel VGAs. No more freezes no more
segfaults.

https://bugs.launchpad.net/kicad/+bug/1511370

On Mon, Jun 20, 2016 at 7:03 PM, Mário Luzeiro <mrluzeiro@xxxxx> wrote:

> 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 [stambaughw@xxxxxxxxx]
> Sent: 20 June 2016 13:45
> To: Mário Luzeiro; kicad-developers@xxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

References