<br><br>On Saturday, May 31, 2014, Sergey Sharybin &lt;<a href="mailto:sergey.vfx@gmail.com">sergey.vfx@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I&#39;m not sure why to blame merges. We couldn&#39;t postpone everything actually. Not even sure why it might be an issue for the project. You might easily ignore them for now.</div></blockquote><div><br></div>
I wouldn&#39;t suggest that anything be postponed.  I could put off merging, but I&#39;m not convinced it would save work later.  Seeing as how this year was significantly less work than last year supports that idea (even though it is anecdotal).  The difference is merging after 2 months versus 6.  It has to be done eventually.<div>
<br></div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div><br></div><div>Looks like you&#39;re trying to put all the legacy code onto the compatibility layer and bring it to live all together, which is rather a huge project and which didn&#39;t work two times already. What is the point of compatibility layer anyway?</div>
</div></blockquote><div><br></div><div>Calling it a compatibility layer is probably somewhat of a misnomer.  I did designed it to allow legacy OpenGL drivers to work, but it&#39;s more like a custom shader support library written on top of OpenGL 3 core that can fall back to older gl.</div>
<div><br></div><div>I actually feel that no gl calls should be made outside of the gpu source directory.  I&#39;ll continue this thought below...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div><br></div><div>Would really suggest making smaller steps in order to make stuff mergeable to master:</div><div><br></div><div>- Put all the stuff needed from GHOST side and all the mathutils stuff and other utility functions to master. This should work just fine with the legacy OpenGL we&#39;re using.</div>
</div></blockquote><div><br></div><div>Right.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
<div>- In the branch start porting areas one-by-one into new GL. Starting with window draw and interface elements. And by porting i mean port to new GL calls, not some compatibility layer. It should even be possible to have interface using newer GL and viewport using legacy code.</div>
</div></blockquote><div><br></div><div>I would say that over 3/4 of the functions used in Blender drawing code do not exist in core GL.  If there were no legacy code at all in Blender we would still want something like the misnamed compatibility layer to make drawing code readable.</div>
<div><br></div><div>Still, the idea of bringing up one module at a time is best, but I do not see the benefit of writing the drawing code, say,  in an editor, directly on top of OpenGL.  </div><div><br></div><div>OpenGL was low level to begin with.  OpenGL 3 is even lower level.  Putting code to manage shaders, buffers, and uniforms in higher level code like an editor seems wrong.  </div>
<div><br></div>That is why I&#39;ve taken to calling the compatibility layer a &quot;replacement&quot;.  It is not compatible with legacy OpenGL, but tries to capture how blender actually uses legacy OpenGL and only implements that functionality which needs to be replaced since it was removed from core.  It has a similar interface to make porting easier.</div>
<div><br></div><div>I admit that bringing everything up and live at once might not be the best, but, I also couldn&#39;t be sure I had captured everything without actually doing that.</div><div><br></div><div>But now it is clear that I don&#39;t have to maintain it anymore since all of the functionality has been proofed.  I can now bring up one module at a time without fearing that something in the next module is going to force me to go back and redesign everything.</div>
<div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
<div>- Then port all the rest areas to new GL. Something like: port them, test them, merge them.</div></div></blockquote><div><br></div><div>The porting has already been done.  I don&#39;t think you really want me to inline the OpenGL 3.2 code out of the replacement code.  My replacement might not have the best design, but I believe it&#39;s existence is the correct decision and can be improved as time goes on.</div>
<div><br></div><div>A side note, I wouldn&#39;t use the word &quot;fail&quot; to describe my work.  I&#39;m guessing you mean I&#39;ve failed to contribute anything to master.  I&#39;ll agree with that, and I&#39;m focused on rectifying that.<span></span></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 31, 2014 at 4:12 PM, Campbell Barton <span dir="ltr">&lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;ideasman42@gmail.com&#39;);" target="_blank">ideasman42@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Recommend meld:<br>
<a href="http://meldmerge.org" target="_blank">http://meldmerge.org</a><br>
<br>
It can be set as git&#39;s mergetool and handles 3way merges pretty nice.<br>
<br>
Although I never tried other tools (probably vimdiff is good too if you use vim)<br>
<div><div><br>
On Sat, May 31, 2014 at 3:28 PM, Jason Wilkins<br>
&lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;jason.a.wilkins@gmail.com&#39;);" target="_blank">jason.a.wilkins@gmail.com</a>&gt; wrote:<br>
&gt; Last year took a few weeks to gain momentum due to fixing up the code after<br>
&gt; merging, so I should have realized I might be in the same boat this year.<br>
&gt;<br>
&gt; Luckily, I seem to have learned a thing or two about how to manage this so I<br>
&gt; should have things working again by the end of the weekend.  It helps that I<br>
&gt; merged things back in March, but some recent changes to the rendering code<br>
&gt; (loop normals?) caused a lot of pain.<br>
&gt;<br>
&gt; The switch to git also helps a lot.<br>
&gt;<br>
&gt; This week I&#39;ve started to contact users about helping me develop and run a<br>
&gt; set of regression and performance tests.  There is a thread on Blender<br>
&gt; Artists here:<br>
&gt;<br>
&gt; <a href="http://blenderartists.org/forum/showthread.php?338377-Viewport-FX-III" target="_blank">http://blenderartists.org/forum/showthread.php?338377-Viewport-FX-III</a><br>
&gt;<br>
&gt; Next week I&#39;ll be putting up for review the changes to GHOST that separates<br>
&gt; the window system from the opengl context.  I had hoped to have this ready<br>
&gt; to go before gsoc started, but I ended up having to meet some other<br>
&gt; deadlines :(<br>
&gt;<br>
&gt; I&#39;m also going to pull some other things out like additional math functions<br>
&gt; and the replacement for the OpenGL matrix stack.  While I want to mainly<br>
&gt; focus on getting things that could/can cause lots of conflicts reviewed<br>
&gt; first, I think some modules like a CPU based matrix stack might be useful<br>
&gt; libraries for others to be able to use.<br>
&gt;<br>
&gt; Although my branch currently compiles on Windows, it is broken, and does not<br>
&gt; draw properly due to the merge.  As I review the diff in order to find<br>
&gt; patches to submit I&#39;m also going to be trying to fix that. grr..<br>
&gt;<br>
&gt; No major questions right now.<br>
&gt;<br>
&gt; I might venture to ask for people&#39;s opinion.  I currently use kdiff3 as my<br>
&gt; merge tool.  I&#39;ve found it really helps compared to the tool that comes with<br>
&gt; Tortoise, but really those are the only two tools I&#39;ve ever used.  So, my<br>
&gt; question would be, does anybody have a tool that runs on Windows or MacOS<br>
&gt; that they think is better than kdiff3?  I would be open to learning a new<br>
&gt; tool if it would speed merging further, since I have gotten a lot of<br>
&gt; practice at that lately...<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Soc-2014-dev mailing list<br>
&gt; <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;Soc-2014-dev@blender.org&#39;);" target="_blank">Soc-2014-dev@blender.org</a><br>
&gt; <a href="http://lists.blender.org/mailman/listinfo/soc-2014-dev" target="_blank">http://lists.blender.org/mailman/listinfo/soc-2014-dev</a><br>
&gt;<br>
<span><font color="#888888"><br>
<br>
<br>
--<br>
- Campbell<br>
_______________________________________________<br>
Soc-2014-dev mailing list<br>
<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;Soc-2014-dev@blender.org&#39;);" target="_blank">Soc-2014-dev@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/soc-2014-dev" target="_blank">http://lists.blender.org/mailman/listinfo/soc-2014-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="color:rgb(102,102,102)">With best regards, Sergey Sharybin</span></div>
</div>
</blockquote></div>