<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hey Rohan,</p>
<p>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.).</p>
<p>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.).<br>
</p>
<p>Keep up the good work! :)<br>
Bastien<br>
</p>
<div class="moz-cite-prefix">Le 02/06/2017 à 19:39, Rohan Rathi a
écrit :<br>
</div>
<blockquote
cite="mid:CAE7L-22LXMo4Xq6TUXHuMe_-Wxk5SStqyzqEbFXo2o-j-+QkSg@mail.gmail.com"
type="cite">
<div dir="ltr">What I did this week:
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>What I plan on doing next week:</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div><br>
</div>
<div>Links:</div>
<div>My proposal: <a moz-do-not-send="true"
href="https://wiki.blender.org/index.php/User:RohanRathi/GSoC_2017/Proposal">https://wiki.blender.org/index.php/User:RohanRathi/GSoC_2017/Proposal</a></div>
<div>Git branch: <a moz-do-not-send="true"
href="https://developer.blender.org/diffusion/B/browse/soc-2017-normal-tools/">https://developer.blender.org/diffusion/B/browse/soc-2017-normal-tools/</a></div>
<div><br>
</div>
<div><br>
</div>
<div>Thank you,</div>
<div><br>
</div>
<div>Rohan Rathi</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Soc-2017-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Soc-2017-dev@blender.org">Soc-2017-dev@blender.org</a>
<a class="moz-txt-link-freetext" href="https://lists.blender.org/mailman/listinfo/soc-2017-dev">https://lists.blender.org/mailman/listinfo/soc-2017-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>