# Issues with Glass Surfaces by ODM and 3D Tiles tools

**URL:** <https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945>\
**Category:** ODM\
**Tags:** optimization\
**Created:** [September 17, 2026, 6:43am UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945 "2026-09-17T06:43:24Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kushal\_Ghosh](https://community.opendronemap.org/user_avatar/community.opendronemap.org/kushal_ghosh/32/20262_2.png) [@Kushal\_Ghosh](https://community.opendronemap.org/u/Kushal_Ghosh)\
**Post date:** [September 17, 2026, 6:43am UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945/1 "2026-09-17T06:43:24Z")

</div>

There are two issues which I am facing right now:

1. **Issue 1:** Glass & Specular Surfaces are coming as Holes and Void, tried every possible parameters but its not worth considering, whereas I generated the same with Agisoft Metashape pro and it seems to be well generated, I know it’s a paid tool but with ODM I am not able to come even close to the output generated by Metashape.  
In [this folder](https://drive.google.com/drive/folders/1SodV3U0Q8-iV4WkPesWi3Yx1ctuGq5tr?usp=sharing) we have both the outputs(_Output-by-ODM_ and _Output-by-Agisoft_) in video format.
2. **Issue 2:** I am converting the 3d\_tiles into 3TZ format and visualizing it on cesium, but the hierarchy of LOD generated by ODM is not as clean as compared to Agosoft.  
_In Agisoft 3TZ_ - It seems to contain a somewhat clean LOD hierarchy. The largest tile content has only 264KB. While moving around with `debugShowBoundingVolume` enabled, it looks like it is cleanly and sensibly refining.  
_In ODM 3TZ -_ Each LOD contains the same number of tiles. Apparently that tool just generates 16 tiles with a fixed structure, and the LOD levels _only_ consist of different levels of detail for these exact tiles and this is causing flickering issues(_check the video in above folder link_ ) in cesium due to largest content/b3dm is of whopping 50MB.  
In[this folder](https://drive.google.com/drive/folders/1PvhWG4uZvqg4fOBerR9QpqXWuH_HKyXn?usp=sharing) we have both the 3TZ outputs.

Kindly please help me to fix both of the issues,  
Thank you so much.

---

<div class="post-metadata">

**Author:** ![Kushal\_Ghosh](https://community.opendronemap.org/user_avatar/community.opendronemap.org/kushal_ghosh/32/20262_2.png) [@Kushal\_Ghosh](https://community.opendronemap.org/u/Kushal_Ghosh)\
**Post date:** [September 17, 2026, 6:44am UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945/2 "2026-09-17T06:44:26Z")

</div>

Data set used here is this [https://link.esri.com/drone\_data/redlands\_building\_e\_construction](https://link.esri.com/drone_data/redlands_building_e_construction)

---

<div class="post-metadata">

**Author:** ![smathermather](https://community.opendronemap.org/user_avatar/community.opendronemap.org/smathermather/32/876_2.png) [@smathermather](https://community.opendronemap.org/u/smathermather)\
**Post date:** [September 18, 2026, 1:27am UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945/3 "2026-09-18T01:27:01Z")

</div>

Can you share your processing parameters (the ones that differ from default, if applicable)? Specular surfaces are a real challenge for photogrammetry, but it’s useful to know what you’ve tried so far in the parameter tuning.

Thanks for sharing the example data and outputs. That’s always helpful.

---

<div class="post-metadata">

**Author:** ![Kushal\_Ghosh](https://community.opendronemap.org/user_avatar/community.opendronemap.org/kushal_ghosh/32/20262_2.png) [@Kushal\_Ghosh](https://community.opendronemap.org/u/Kushal_Ghosh)\
**Post date:** [September 18, 2026, 8:37am UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945/4 "2026-09-18T08:37:57Z")

</div>

```auto
docker run -ti --rm -v /home/3D-Dataset/ESRI-campus:/datasets/ESRI-campus opendronemap/odm --project-path /datasets ESRI-campus \ --max-concurrency 16 \
  --feature-quality high \
  --min-num-features 16000 \
  --matcher-type flann \
  --matcher-neighbors 0 \
  --use-hybrid-bundle-adjustment \
  --pc-quality high \
  --pc-filter 2.5 \
  --pc-rectify \
  --pc-classify \
  --mesh-octree-depth 11 \
  --mesh-size 800000 \
  --auto-boundary \
  --dsm \

```

This one is the actual command for which I have shared the output but I have tried different commands as well and output was nearly similar just the difference in the quality  
Option 1-

`docker run -ti --rm -v /home/3D-Dataset/ESRI-campus:/datasets/ESRI-campus opendronemap/odm --project-path /datasets ESRI-campus --use-3dmesh --mesh-octree-depth 10 --mesh-size 400000 --pc-quality high --pc-filter 1.5 --feature-quality high --min-num-features 12000 --matcher-neighbors 12 --auto-boundary --dsm --dtm --dem-resolution 2 --3d-tiles`

Option 2 -

```auto
docker run -ti --rm \
  -v /home/3D-Dataset/ATC-tower:/datasets/ATC-tower \
  opendronemap/odm \
  --project-path /datasets ATC-tower \
  --use-3dmesh \
  --mesh-octree-depth 12 \
  --mesh-size 300000 \
  --pc-quality high \
  --feature-quality high \
  --min-num-features 12000 \
  --dsm --dtm \
  --crop 2 \
  --auto-boundary \
  --texturing-single-material \
  --3d-tiles

```

Option 3 -

`docker run -ti --rm -v /path/to/dataset/data opendronemap/odm --project-path /datasets ESRI-campus --use-3dmesh --mesh-octree-depth 12 --mesh-size 600000 --pc-quality high --pc-filter 2 --feature-quality ultra --min-num-features 16000 --matcher-neighbors 12 --texturing-keep-unseen-faces --dsm --dtm --dem-resolution 2 --crop 3 --auto-boundary --3d-tiles`

If you have the better command to generate the output, you can send me I will try that on my dataset and will send you the output.

Also for Issue 2, I used this to wrap into 3TZ  
`3d-tiles-tools convert -i tiles_yup/tileset.json -o atc_yup.3tz`

---

<div class="post-metadata">

**Author:** ![Maurice.Sobiera](https://community.opendronemap.org/user_avatar/community.opendronemap.org/maurice.sobiera/32/6956_2.png) [@Maurice.Sobiera](https://community.opendronemap.org/u/Maurice.Sobiera)\
**Post date:** [October 8, 2026, 10:05pm UTC](https://community.opendronemap.org/t/issues-with-glass-surfaces-by-odm-and-3d-tiles-tools/26945/5 "2026-10-08T22:05:28Z")

</div>

Hi Kushal,

we processed the Esri Redlands Building E dataset with your main command (plus a modified texturing step on our side). You can look at the result here:

> **[Glas G3 – Forum-Befehl + Bitblade Glas-Fix (Patch 22 Zwei-Pass-Texturierung)...](https://odm.bitblade.io/public/task/7af472ff-783e-4107-8aab-e687b6c276c5/3d/)**

**Why the glass areas come out as holes:** the mesh itself is closed. The texturing step (mvs-texturing) then _deletes_ every face it considers “unseen”. On this dataset that was ~430,000 of 1.4 million faces of the 3D mesh. The reasons: the geometry behind the glass faces inwards, the viewing angles are very steep, and window frames/fins block the view. With stock ODM you can keep these faces with `--texturing-keep-unseen-faces`; the holes close, but those areas get a flat filler colour. In our build, faces that would otherwise be deleted get a second, more lenient view selection, so the model has no holes:

 ![forum_1_holes_before_after](https://community.opendronemap.org/uploads/default/original/3X/2/0/20a4a8e6ab47aa55beacba3cc87312ff7f3fbd95.jpeg)

**The real limitation is the data, though:** all 195 images are nadir (gimbal pitch −90°). There is not a single oblique image, so the facades are only ever seen at grazing angles:

 ![forum_2_camera_angles](https://community.opendronemap.org/uploads/default/original/3X/0/b/0b4f150c5209e908209a4fa390c4698295f07788.png)

That is why the geometry behind the glass stays wavy (reflections and interior points end up in front of / behind the facade plane), and why the only “views” of the facade actually show the roof. In the close-up you can see the solar panel grid projected onto the facade:

 ![forum_3_facade_closeup](https://community.opendronemap.org/uploads/default/original/3X/9/f/9f546a23dbf0c9c0cca7594a91c29008283f354c.jpeg)

No parameter change can fully fix that; other tools mostly smooth over it. For clean facades, please add oblique images:

- **Orbits** around the building at 2–3 heights, gimbal around −30° to −45°, an image every 5–10° of the circle
- optionally a **facade pass** closer to the building, gimbal −10° to −20°, 70–80 % overlap
- keep the **nadir grid** for the roof and the surroundings
- **overcast weather** (and a polarising filter, if available) helps a lot with glass because there are fewer reflections

With such data ODM produces much better geometry on glass facades. If you share a dataset with obliques, we are happy to run it again.

Best regards,  
Maurice / Bitblade
