<div dir="ltr">Nice job! You are really fast in coding :-)<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno dom 5 lug 2020 alle ore 15:08 BELGACEM NEDJIMA <<a href="mailto:gb_nedjima@esi.dz">gb_nedjima@esi.dz</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi all,<br>During the fifth week of the summer of code I made a lot of progress implementing the 3D scenes export feature. Here is my report for the week:<div><br><ul style="margin:0.3em 0px 0px 1.6em;padding:0px;font-family:sans-serif;font-size:14px"><li style="margin-bottom:0.1em"></li><li>Tasks done:<ul style="margin:0.3em 0px 0px 1.6em;padding:0px"><li style="margin-bottom:0.1em">Got exporting the vector layer data working.</li><li style="margin-bottom:0.1em">Saw how the flat terrain is generated and how the level of details system works.</li><li style="margin-bottom:0.1em">Exported visible terrain tiles by taking the Qt3DRender::QAttribute objects directly and parsing the data.</li><li style="margin-bottom:0.1em">Exported invisible terrain tiles by generating geometries manually.</li><li style="margin-bottom:0.1em">Exported DEM terrain tiles (I had some troubles with non square height maps giving me wrong values but I eventually fixed the problem).</li><li style="margin-bottom:0.1em">Discovered smooth edges parameter in the wavefront .obj standard and implemented it (I'm following this very useful spec <a rel="nofollow" href="http://fegemo.github.io/cefet-cg/attachments/obj-spec.pdf" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px" target="_blank">obj-spec</a>)</li><li style="margin-bottom:0.1em">Gave the user the ability to choose at which level of details he wants to export.</li><li style="margin-bottom:0.1em">Made initial UI and classes for the scene export settings.</li><li style="margin-bottom:0.1em">Switched from the user specifying the level of details to specifying the resolution of the terrain (more predictable in terms of loading speed and vertex count).</li><li style="margin-bottom:0.1em">Made a separate class named Qgs3DExportObject that will handle the object name and various 3D data (to handle absence of texture coordinates data in a better way in the future).</li><li style="margin-bottom:0.1em">Gave each object in the scene it's own object name in the .obj file so that blender users can edit the scene in a better way.</li><li style="margin-bottom:0.1em">Documented the code and made a draft pull request that you can find here: <a rel="nofollow" href="https://github.com/qgis/QGIS/pull/37588" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px" target="_blank">https://github.com/qgis/QGIS/pull/37588</a></li><li style="margin-bottom:0.1em">Discussed what I implemented with mentors.</li></ul></li><li>Screenshots:<ul style="margin:0.3em 0px 0px 1.6em;padding:0px"><li style="margin-bottom:0.1em">DEM terrain inside QGIS: <a rel="nofollow" href="https://imgur.com/aZl0E03" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px" target="_blank">https://imgur.com/aZl0E03</a></li><li style="margin-bottom:0.1em">Exported DEM terrain (smoothing option to the left): <a rel="nofollow" href="https://imgur.com/Jkl9kfu" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px" target="_blank">https://imgur.com/Jkl9kfu</a></li><li style="margin-bottom:0.1em">Exported vector layer with a flat terrain: <a rel="nofollow" href="https://imgur.com/LWBtHqf" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px" target="_blank">https://imgur.com/LWBtHqf</a></li></ul></li><li>Tasks to be done:<ul style="margin:0.3em 0px 0px 1.6em;padding:0px"><li style="margin-bottom:0.1em">Export other types of layers (mesh layers, 3D symbol layers...).</li><li style="margin-bottom:0.1em">Handle exporting of normals.</li><li style="margin-bottom:0.1em">Handle exporting of texture coordinates.</li><li style="margin-bottom:0.1em">Export textures as displayed in the scene to an image file.</li><li style="margin-bottom:0.1em">Manage material file (.mtl) construction.</li></ul></li><ul style="margin:0.3em 0px 0px 1.6em;padding:0px"><li style="margin-bottom:0.1em">Blocking issues: Not really a blocking issue but I wanted to do export scene hierarchy in the .obj file but that didn't seem to work in blender :(.</li></ul></ul>Any suggestion or feedback is always welcome.<br>Best wishes,<br><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr">Belgacem Nedjima<div>4th year computer science and engineering student.</div><div><a href="https://github.com/NEDJIMAbelgacem" target="_blank">https://github.com/NEDJIMAbelgacem</a><br></div><div><br></div></div></div></div></div></div></div>
_______________________________________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a></blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Luca Manganelli<br>Assistente informatico<br>Servizio Innovazione e Sistemi digitali<br>Via Ezio Maccani 148<br>38121 Trento (TN)</div></div></div>

<br>
<br><hr><div dir="ltr" style="margin-left:0pt"><table style="border:none;border-collapse:collapse"><colgroup><col width="122"><col width="478"></colgroup><tbody><tr style="height:0pt"><td style="vertical-align:middle;padding:5pt 5pt 5pt 5pt"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap"><img src="https://lh6.googleusercontent.com/tLaB-Ky-Psfgf-0zr7RusPnEN13z3YySbOJJi6IwAseUrq8j66KB9GF93lLWDI2t6GBY6lcJHtGd0RR3xqpXkNXSK9eTo7AroFyNwAS7hEPNxhr7A_Dru7USg6lGpeGv_HJJCcXx" style="border:none" width="106" height="48"></span></p></td><td style="vertical-align:middle;padding:5pt 5pt 5pt 5pt"><p dir="ltr" style="line-height:1.2;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:#444444;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap">Comune di Trento </span></p><p dir="ltr" style="line-height:1.2;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;padding:3pt 0pt 0pt 0pt"><span style="font-size:10pt;font-family:Arial;color:#434343;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap">via Belenzani, 19 - 38122 Trento | C.F e P. IVA: 00355870221</span></p><p dir="ltr" style="line-height:1.2;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:#434343;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap">tel. +39 0461.884111 | </span><a href="http://www.comune.trento.it" style="text-decoration:none" target="_blank"><span style="font-size:10pt;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre;white-space:pre-wrap">www.comune.trento.it</span></a><span style="font-size:10pt;font-family:Arial;color:#434343;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap"> </span></p></td></tr></tbody></table></div><span></span>