[Soc-2017-dev] Weekly Report #01 - Normal Editing Tools

Bastien Montagne montagne29 at wanadoo.fr
Fri Jun 9 15:26:52 CEST 2017


Hey Rohan,

Did not have time to check commits in detail unfortunately, but from 
quick review I think you should keep the 'invalidate only some lnor 
spaces' idea out of code for now. In other words, just always invalidate 
whole array of lnor spaces (you can keep the two defines for now, just 
make the 'partial' one behave like the 'everything' one e.g.).

Reason is, it's not easy to determine which lnor space needs to be 
recomputed based on which vert/edge/face was edited (e.g. moving a 
single vertex can invalidate all lnor spaces around that vertex, but 
also those involving neighbor vertices of adjacent faces…). Better to 
keep that kind of refinement for later, if time allows (and rebuilding 
all lnorspaces shows to be a real bottleneck, which I kind of doubt). 
Even worse, it can create or delete some lnorspaces (due e.g. the face 
angle going above/below 'sharp' threshold, etc.).

Keep up the good work! :)
Bastien

Le 02/06/2017 à 19:39, Rohan Rathi a écrit :
> What I did this week:
>
> Fairly rudimentary work. Cached the custom loop normal spaces for the 
> mesh and added a mechanic to detect when the loop normal spaces are 
> dirty and rebuild the loop normal space array.
>
> Other than that I developed a much stronger understanding of BMesh 
> Ops. All bmesh ops that are executed should now either flag the loops 
> of the modified geometry or invalidate the entire loop normal space 
> array of the mesh.
>
> What I plan on doing next week:
>
> Now that this is cleared, I think I can focus on writing the actual 
> tools that will manipulate the custom normal. My first goal was to add 
> the ability to rotate normals. I've studied modal rotation already and 
> most likely will have added this ability by the end of next week.
>
> Although all BMesh Ops that modify geometry are taken care of, there 
> are other tools that manipulate geometry like modal transform. So I 
> need to figure out a way to invalidate the loop normal spaces in this 
> case. This will be my prior task along with normal rotation.
>
>
> Links:
> My proposal: 
> https://wiki.blender.org/index.php/User:RohanRathi/GSoC_2017/Proposal
> Git branch: 
> https://developer.blender.org/diffusion/B/browse/soc-2017-normal-tools/
>
>
> Thank you,
>
> Rohan Rathi
>
>
> _______________________________________________
> 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/20170609/4ca6eaff/attachment.htm 


More information about the Soc-2017-dev mailing list