[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