<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/122702/">https://git.reviewboard.kde.org/r/122702/</a>
     </td>
    </tr>
   </table>
   <br />











<div>



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/122702/diff/2/?file=351309#file351309line76" style="color: black; font-weight: bold; text-decoration: underline;">graphics/filemesh.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void FileMesh::initialize()</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">76</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">data</span><span class="o">-></span><span class="n">setPrimitiveCount</span><span class="p">(</span> <span class="n">mesh</span><span class="o">-></span><span class="n">mNumFaces</span><span class="hl"> </span><span class="o"><span class="hl">*</span></span><span class="hl"> </span><span class="mi">3</span> <span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">75</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">data</span><span class="o">-></span><span class="n">setPrimitiveCount</span><span class="p">(</span> <span class="n">mesh</span><span class="o">-></span><span class="n">mNumFaces</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="n"><span class="hl">mesh</span></span><span class="o"><span class="hl">-></span></span><span class="n"><span class="hl">mNumVertices</span></span><span class="o"><span class="hl">*</span></span><span class="mi"><span class="hl">3</span></span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="n"><span class="hl">mesh</span></span><span class="o"><span class="hl">-></span></span><span class="n"><span class="hl">mNumFaces</span></span><span class="o"><span class="hl">*</span></span><span class="mi">3</span> <span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

 <div style="margin-left: 2em;">

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The "primitive count" is a term from the OpenGL documentation and refers to the number of vertices per element, which depends on the rendering type. For meshes loaded from files, we always assume they need to be rendered as triangles, which means the total primitive count is triangle (or face) count * 3.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Since several of the other properties depend on later loops it is harder to pre-allocate the buffer unless you account for those too. For example, the number of indices depends on the number of indices per face. On the other hand, since the mesh is loaded with aiProcess_Triangulate we can assume that each face has 3 indices. On the other hand, while not perfectly clear, the documentation states that the second argument is the total size of the vertex data. What the documentation /does/ fail to mention is that that is an amount in bytes. :)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For the file mesh, since the formula to calculate the total size of the vertex data gets rather ridiculous, I opted to just have the buffer resizing take care of it instead, which means you only need to specify primitive count.</p></pre>
 </div>
</div>
<br />



<p>- Arjen Hiemstra</p>


<br />
<p>On February 24th, 2015, 2:04 p.m. UTC, Felix Rohrbach wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Gluon and Arjen Hiemstra.</div>
<div>By Felix Rohrbach.</div>


<p style="color: grey;"><i>Updated Feb. 24, 2015, 2:04 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
gluon
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm really not sure about setPrimitiveCount, as I changed the first argument. Was it wrong before, did "count" mean something else before, or did I just misunderstand the documentation?</p></pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>graphics/cmake/FindAssImp.cmake <span style="color: grey">(4f1563f)</span></li>

 <li>graphics/filemesh.cpp <span style="color: grey">(65e82b6)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/122702/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>