<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" class="external gmail-text" 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">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" class="external gmail-free" href="https://github.com/qgis/QGIS/pull/37588" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px">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" class="external gmail-free" href="https://imgur.com/aZl0E03" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px">https://imgur.com/aZl0E03</a></li><li style="margin-bottom:0.1em">Exported DEM terrain (smoothing option to the left): <a rel="nofollow" class="external gmail-free" href="https://imgur.com/Jkl9kfu" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px">https://imgur.com/Jkl9kfu</a></li><li style="margin-bottom:0.1em">Exported vector layer with a flat terrain: <a rel="nofollow" class="external gmail-free" href="https://imgur.com/LWBtHqf" style="text-decoration-line:none;color:rgb(102,51,102);background-color:initial;padding-right:13px">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 class="gmail-Apple-interchange-newline"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><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>