[Soc-2017-dev] Weekly Report #10 - Silhouette Operator

Sebastian Witt W.Basti at gmx.de
Wed Aug 9 10:45:03 CEST 2017


Hi,

correct! I have already implemented a function which manipulates the 
existing CustomData as needed.
With the new manipulative functions of the Silhouette Operator I will 
need to adjust the custom undo/redo node accordingly.

For now I am working on the intersection detection. I was able to get a 
rather quick version on the existing mesh. Now I am focusing on the 
Silhouette Mesh Intersection.

About the projection problem, I was able to work around the orthographic 
projection by first projecting onto a orthogonal plane and then project 
with ED_view3d_project to the camera. This introduced no new complexity 
since I needed the projection onto the plane anyways.

So with all the good advice I was able to solve all the problems from 
last week!
But there is still a lot to be done.

Sebastian Witt


On 09.08.17 10:31, Sergey Sharybin wrote:
> Hi.
>
> Just for the record. We've talked about mesh structure and projection 
> in IRC.
>
> Conclusion about mesh: just use CustomData API to manipulate 
> new/existing geometry.
>
> For projection, either use ED_view3d_project_float_v2_m4, or 
> maybe project_plane_v3_v3v3 dependening on what exactly is needed 
> here. Fir further help about projection we need to know what exactly 
> needs to be done.
>
> On Fri, Aug 4, 2017 at 7:39 PM, Sebastian Witt <W.Basti at gmx.de 
> <mailto:W.Basti at gmx.de>> wrote:
>
>     **
>
>
>         *Weekly Report #10 - Silhouette Operator*
>
>     *
>
>     In the 10th week I continued to develop the transition method to
>     connect a drawn Silhouette to existing geometry.
>
>     Turns out, this is a real challenge. I stumbled over a couple of
>     problems.
>
>     But first, let’s talk about
>
>
>     What has been done in this week:
>
>      *
>
>         Implement an algorithm to calculate the edge-ring which is
>         separating the vertices which need to be cut from the ones
>         which need to stay.
>
>      *
>
>         Ordering of those rings
>
>      *
>
>         Generate bounding-boxes for the rings
>
>      *
>
>         Find intersecting rings which are the result of cross-node holes
>
>      *
>
>         Calculate the shared parts of those rings
>
>
>     Problems, Questions, Challenges
>
>     First things first: After this week i can say that the task to
>     connect the parts is harder than expected. I am now pretty sure I
>     will not be able to deliver a bug-free, tested, documented
>     operator with the transition option within the GSoC timeframe. It
>     is more complex than expected because of a couple of reasons:
>
>
>     The Mesh Problem
>
>     Currently I have used almost completely the basic mesh structure
>     of blender. Within sculpting mode everything is handled by
>     manipulating the mesh of the sculpt. Everything, with exception of
>     the dyntopo mode, is limited to non-destructive/non-constructive
>     mesh edits. Vertices are only deformed.
>
>     With the silhouette operator I need to create new
>     vertices/edges/loops/polys (v/e/l/p). Till now this has been no
>     problem since just appending new data to the v/e/l/p arrays is easy.
>
>     Maybe it is just because I misunderstand the customdata structure,
>     but deleting and rearranging the v/e/l/p is more problematic.
>     Additional data like vertex color, shape keys etc. is dependent on
>     consistent v/e/l/p memory.
>
>     There is almost no functions in the codebase to manipulate the
>     base mesh structure.
>
>     I started creating a remove vertices function which is supposed to
>     delete vertices and connected edges etc. adjacent to it. I started
>     to create redirection tables to redirect all the pointers. Polys
>     -> Loops -> Edges -> Vertices. Even though this is possible, it
>     breaks references to it from other sources. I postponed this task
>     and wanted to get some feedback on these questions first.
>
>
>     The Orthographic Matrix
>
>     Earlier this week i sent a question in this mailing list.
>
>     How do i get the orthographic projection matrix in perspective mode?
>
>     I still don’t know how to do it, so feel free to have a look at it!
>
>     What is the time-plan?
>
>     Besides the bigger problems like the mesh problem the whole task
>     has several challenges. Most of which i know how to tackle but
>     need a lot of time. A random number of arbitrary shaped
>     intersections between random shapes with various pixel-densities
>     need to be transitioned.
>
>     It is hard to say, but my optimistic guess is:
>
>     If there is a good method for the mesh problem, I can get a
>     running version with transitions in 3 weeks from now.
>
>     Therefore there will be almost no time for testing, bug fixing or
>     documentation.
>
>
>     I think it is important to discuss now, so let me know any
>     thoughts on this!
>
>
>     Besides this, ErickBlender made a great video demonstrating the
>     use of the silhouette operator! I think it shows very well how the
>     operator is intended to be used. Generating a quick foundation for
>     later refinement with the other sculpting tools.
>
>     So have a look:
>
>     https://www.youtube.com/watch?v=VdIV5Mb2XX4&feature=youtu.be
>     <https://www.youtube.com/watch?v=VdIV5Mb2XX4&feature=youtu.be>
>
>
>     As always, have a great weekend!
>
>
>     Sebastian Witt
>
>     *
>
>     _______________________________________________
>     Soc-2017-dev mailing list
>     Soc-2017-dev at blender.org <mailto:Soc-2017-dev at blender.org>
>     https://lists.blender.org/mailman/listinfo/soc-2017-dev
>     <https://lists.blender.org/mailman/listinfo/soc-2017-dev>
>
>
>
>
> -- 
> With best regards, Sergey Sharybin
>
>
> _______________________________________________
> Soc-2017-dev mailing list
> Soc-2017-dev at blender.org
> https://lists.blender.org/mailman/listinfo/soc-2017-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2017-dev/attachments/20170809/e1ceb8d9/attachment.htm 


More information about the Soc-2017-dev mailing list