Hi, sorry the interruption, but I couldn&#39;t hang myself... :)<br>How about to improve a way to get more speed in Sculpt Mode high resolutions? I Think that is one thing that really needs to be improved, IMHO. Some people told me Zbrush is a kind of 2.5D, and that is why it is faster then Blender sculpt, because it is like sculpting directly in the Normal map (since a resolution, may be, something like that) and not in the mesh. Sculpt Modifier? May be, I don&#39;t know. Unfortunately, I&#39;m not a programmer! But would be great to have it working fast like Zbrush with high resolutions, right! With mask and specific local resolution on the model.<br clear="all">
<br>Cheers<br><br>Moraes Junior - aka mangojambo<br>3D Artist Animator<br>
<br><br><div class="gmail_quote">2009/3/30 joe <span dir="ltr">&lt;<a href="mailto:joeedh@gmail.com">joeedh@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Oh and sorry if I sound negative.  Most of the issues I&#39;m taking have<br>
to do with internal blender code issues.  I&#39;m currently refactoring<br>
the mesh code, and I&#39;d like to avoid people touching certain parts of<br>
that code without my input.<br>
<br>
If your proposal is approved, I&#39;ll have to coordinate with you on<br>
parts of the implementation, so our two efforts don&#39;t conflict.  I<br>
could even be your mentor, though perhaps Brecht would be better for<br>
that.<br>
<font color="#888888"><br>
Joe<br>
</font><div><div></div><div class="h5"><br>
On Mon, Mar 30, 2009 at 1:56 AM, joe &lt;<a href="mailto:joeedh@gmail.com">joeedh@gmail.com</a>&gt; wrote:<br>
&gt; I&#39;m not sure if this is a good plan. . .my idea was that editmode<br>
&gt; would use VBOs (since it draws a ton more then object mode) and object<br>
&gt; mode would either use VBOs too or just vertex arrays.  Streaming data<br>
&gt; to the VBO in editmode would not be slow, so long as you only streamed<br>
&gt; stuff that has changed.<br>
&gt;<br>
&gt; Optimizing object mode is helpful, but it doesn&#39;t draw that much<br>
&gt; compared to editmode, and imho not doing editmode negates much of the<br>
&gt; benefits of using VBOs.  Since editmode draws more and slows down<br>
&gt; before object mode does, it makes sense to not do it first.<br>
&gt;<br>
&gt; Joe<br>
&gt;<br>
&gt; 2009/3/30 Aditya Vishwakarma &lt;<a href="mailto:adi.vishwakarma@gmail.com">adi.vishwakarma@gmail.com</a>&gt;:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; thanks you all for the comments. I will modify my proposal to use vertex<br>
&gt;&gt; arrays + indices initially.<br>
&gt;&gt;<br>
&gt;&gt; I was thinking that i would use VBOs only when blender in not in edit mode.<br>
&gt;&gt; Constantly moving data to and from GPU would degrade performance rapidly.<br>
&gt;&gt; Another problem with VBOs would be finding the upper limit of number of<br>
&gt;&gt; vertices that can be stored on the GPU. Since this is a user side issue, i<br>
&gt;&gt; would suggest that we make some sample scenes or design tests that would<br>
&gt;&gt; find out the upper limit of memory needed.<br>
&gt;&gt;<br>
&gt;&gt; Besides having fair idea about drawing and fitting curves ( in our Graphics<br>
&gt;&gt; course), i don&#39;t have any idea how meshes are drawn in Blender.<br>
&gt;&gt;<br>
&gt;&gt; I have assumed that Blender rendering pipeline would be : [do all work(which<br>
&gt;&gt; pixel to draw)] - [ apply transformations etc] - [draw vertices]<br>
&gt;&gt; I also assumed that i would mostly be redesigning the 3rd stage, and<br>
&gt;&gt; abstracting 2nd stage parts which have been mixed with the drawing code.<br>
&gt;&gt; Therefore, I frankly have no idea about how mesh is causing the problem<br>
&gt;&gt;<br>
&gt;&gt; Thanking you<br>
&gt;&gt; Aditya<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sun, Mar 29, 2009 at 11:24 AM, joe &lt;<a href="mailto:joeedh@gmail.com">joeedh@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Sat, Mar 28, 2009 at 9:28 AM, Brecht Van Lommel &lt;<a href="mailto:brecht@blender.org">brecht@blender.org</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt; &gt; There is a certain complexity associated with this project, but I think<br>
&gt;&gt;&gt; &gt; it is feasible and has well defined targets. I&#39;ve reviewed the proposal<br>
&gt;&gt;&gt; &gt; in the google web app, and I agree display lists are not what this<br>
&gt;&gt;&gt; &gt; project should focus on first, but rather using vertex arrays and then<br>
&gt;&gt;&gt; &gt; vbo&#39;s or display lists as a second speedup.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; For VBOs, you&#39;d have to have a system for incremental updates, which<br>
&gt;&gt;&gt; is why I&#39;ve stayed away from doing it myself (if you don&#39;t do that,<br>
&gt;&gt;&gt; you might as well be using vertex arrays).  I guess it is possible,<br>
&gt;&gt;&gt; maybe the same way ccgsubsurf does incremental updates; compare vert<br>
&gt;&gt;&gt; positions with a stored mesh state in memory to see if an update is<br>
&gt;&gt;&gt; needed, and rebuild the arrays on topological changes.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Further, I don&#39;t know what this DerivedMesh refactor is. Purely from the<br>
&gt;&gt;&gt; &gt; view of functionality it is working now without major defects. The code<br>
&gt;&gt;&gt; &gt; could definitely be cleaner and easier to understand, but I don&#39;t think<br>
&gt;&gt;&gt; &gt; that should hold back anything, especially since I don&#39;t know of any<br>
&gt;&gt;&gt; &gt; concrete plans to actually do this refactor. To me it is just a part of<br>
&gt;&gt;&gt; &gt; the Blender code that can be iteratively improved.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; DerivedMesh can&#39;t handle ngons, so it&#39;s going to eventually need to be<br>
&gt;&gt;&gt; modified for that.  We&#39;ve discussed this heavily in the past, and<br>
&gt;&gt;&gt; agreed that we do need to refactor it at some point.  Our short-term<br>
&gt;&gt;&gt; plan for interfacing bmesh with DerivedMesh , is to tesselate ngons<br>
&gt;&gt;&gt; into fgons (which  basically means hiding internal edges of the<br>
&gt;&gt;&gt; tesselation), and modify key modifiers (just subsurf at the moment, I<br>
&gt;&gt;&gt; think) to convert that back to ngons.   This approach tends to be<br>
&gt;&gt;&gt; error-prone and slow, as we&#39;ve seen with doing the same thing with<br>
&gt;&gt;&gt; editmesh.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don&#39;t think current DerivedMesh design has a future, so it&#39;d be nice<br>
&gt;&gt;&gt; if people didn&#39;t make things even more harder for when we do refactor<br>
&gt;&gt;&gt; it (which I&#39;ll probably partly do myself, in small steps when bmesh<br>
&gt;&gt;&gt; becomes stable).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Joe<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Bf-committers mailing list<br>
&gt;&gt;&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Bf-committers mailing list<br>
&gt;&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
_______________________________________________<br>
Bf-committers mailing list<br>
<a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
</div></div></blockquote></div><br>