kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #17868
Re: 3d-viewer redesign proposal
It sounds good to me; this architecture will also give us the opportunity
to render IGES and STEP models in the future (a long time in the future
unless someone wants to help with creating the code to render these).
- Cirilo
On Fri, Apr 10, 2015 at 8:48 PM, Mário Luzeiro <mrluzeiro@xxxxx> wrote:
> Hello all,
>
> I am brainstorming some ideas to work on a rewrite of all 3d-viewer and I
> would like to know from you if it is welcomed and could be integrated in
> the future in the KiCad project.
> Since it would be a major change in the current trunk, I plan to work
> separately in a branch (Launchpad) until it is stable, so it can be tested
> and future integrated.
>
> My idea is to design having in mind a modular approach of all code blocks
> for an easier development, support and module reuse.
> As an example, when I start working in the 3d-viewer, the rendering
> functionality (openGL) was mixed “inline” with VRML/X3D parser code, so I
> plan to slip/decouple all this modules into a better logical way so it will
> help the future development and can be reused by other external
> functionalities (example possibilities: VRML / IGES exporters..).
>
> I plan to split the “3d-viewer” in three major groups:
> - 3D module file management
> - 3D Rendering
> - The viewer (widget)
>
> The result of this work will be a more robust framework for future
> features implementation and (compared with actually implementation)
> expected speed improvements.
> All the modules/groups can be used by other external projects and will not
> be dependent on the viewer itself, the 3D rendering will be implemented as
> a canvas (?) so it could be integrated in a form directly in pcbnew (as
> example).
>
> I am planning this work in phases:
> - Design and plan the future structures/classes.
> - Work in the 3D module file management (parser files to
> intermediate formats, “cache” management, pre-processing... )
> - Work in the 3D Render (capable of openGL compatible (noshaders)
> and openGL with shaders..).
> - Integrate the Viewer with the 3D render (so it will work as the
> actual 3d-viewer).
>
> After these phases, it is not expected any new user functionalities or
> visible features, also, no changes in any modules other than the 3d-viewer
> part, then in another future, I will plan a better integration and
> communication with other modules like pcbnew/etc… so other functionalities
> and user features can be discussed and implemented.
>
>
> Do you give me freedom to start working based on these ideas and hope that
> it could be integrated in future in the project?
> Do you have any other additional ideas or suggestions?
> What concerns should I have in mind related with design / development?
> (code policies .. design considerations.. project integration, etc)
> Anyone interested to particular discuss / work on this with me?
>
> Regards,
> Mario Luzeiro
> _______________________________________________
> 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