lagadic / visp_cao_editor

Development of a CAD model editor for ViSP model-based tracker
GNU General Public License v3.0
19 stars 8 forks source link

GSoC Project Introduction #1

Closed vikasTmz closed 7 years ago

vikasTmz commented 7 years ago

Hi, My name is Vikas Thamizharasan and I have been selected to work with ViSP on this project. Here is a link to my Proposal. Feel free to suggest any improvements before 30th May, which is when the first coding period commences.

My first two weeks would consist of working on Phase 1, Task 1.1 (covered in page 4-8). Page 10 contains potentially useful links to creating the blender plugin.

This is an introductory thread. I plan to create new issues for each task and reference them in their respective PR. Any suggestions on how I should proceed on working on a new project, documentation and coding styles will be extremely helpful.

fspindle commented 7 years ago

Ok

We stated a coding style page that may evolve. If info is missing don't hesitate to tell us

s-trinh commented 7 years ago

I think we should use two subdirectories in visp_cao_editor:

As usual, only needed files should be versioned + some README file for quick instructions.

We should add / recall the features to be done in this thread. For instance for the Blender part:

This is just an example, it can be modified / completed.


Similarly to the other GSoC project, it could be a good idea to fill the project page (one example here for the ViSP Unity repository):

vikasTmz commented 7 years ago

I've explored a bit into model simplification in Blender and most techniques help reduce polycount more than converting into real object visible contours.

Among the techniques mentioned in Task 1.3 in my proposal, Limited dissolve and Decimate Modifier are others that would help to reduce polycount. But the simplification done on the cubesat dataset (_from cubesat1b.obj to cubsat1b_simple.obj_) cannot be automated with the above techniques. Decimate modifier will alter the contours of the model.

So with respect to the cubesat model simplification, are we looking to automate this? Or is a manual process (selection+deletion+dissolve) enough? By manual I mean it would take the user some understanding of blender options and tools to achieve the simplification.

vikasTmz commented 7 years ago

Also, the simplification should include removal of any texture mapping/UV mapping and Shading, right?

Since the .cao format does not store any of these information unlike other 3D formats, if these above properties of the 3D model are not needed to be removed, then on exporting should these be stored in a separate file (eg: the .mtl file created when exported to .obj)? So on importing the .cao model, these properties can be rendered in blender.

Also does the orientation of the 3D model in blender with respect to the world coordinate system matter when used in MBT?

s-trinh commented 7 years ago

So with respect to the cubesat model simplification, are we looking to automate this? Or is a manual process (selection+deletion+dissolve) enough? By manual I mean it would take the user some understanding of blender options and tools to achieve the simplification.

I know just the basics in Blender. If it is not possible to (easily) automate the simplification process with Blender, my suggestion is to write a tutorial (+ maybe a video tutorial) about how to use the Blender tools to simplify a CAD model.

Since the .cao format does not store any of these information unlike other 3D formats, if these above properties of the 3D model are not needed to be removed, then on exporting should these be stored in a separate file (eg: the .mtl file created when exported to .obj)? So on importing the .cao model, these properties can be rendered in blender.

These properties (texture mapping/UV mapping and Shading) are not needed and can be removed. It is an optional feature (only when all the required features are done and work) if you want to embed these properties in an additional file for nice rendering in Blender.

Also does the orientation of the 3D model in blender with respect to the world coordinate system matter when used in MBT?

No we don't need this. We only need for the .cao CAD model to contain a list of points (+ some additional primitives, i.e. lines, faces, circles, cylinders, constructed from some specific 3D object points) that describe the model in the object frame.

s-trinh commented 7 years ago

@vikasTmz Hello Vikaz. Thank you for the first pull request.

We have discussed internally and we have summarized in the project dashboard all the features we would like to have.

Feel free to comment about it. If something is not feasible easily, feel free to propose an alternative. The idea is to have a Blender tool that can allow to export/model easily a complex model to .cao model file.

Some optional or advanced features can be dropped (i.e. automatic simplification of a complex model in Blender).