# Export GLTF - smooth shading OFF

**URL:** <https://forum.nomadsculpt.com/t/export-gltf-smooth-shading-off/24607>\
**Category:** Bug Report\
**Created:** [June 30, 2026, 3:00pm UTC](https://forum.nomadsculpt.com/t/export-gltf-smooth-shading-off/24607 "2026-06-30T15:00:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![robbb](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.nomadsculpt.com/robbb/32/31937_2.png) [@robbb](https://forum.nomadsculpt.com/u/robbb)\
**Post date:** [June 30, 2026, 3:00pm UTC](https://forum.nomadsculpt.com/t/export-gltf-smooth-shading-off/24607/1 "2026-06-30T15:00:57Z")

</div>

How to proper export a gltf with smooth shading OFF ?

When I open the exported file it looks fine in Blender or some online 3d model viewer. But it is not ok in game engines, like Godot.

It seems it has todo with normals.  
I dont have any materials/colors/textures just a simple cylinder with smooth shading off

[Cylinder.glb](https://forum.nomadsculpt.com/uploads/short-url/dVZ9cnlLiGy9pqFGjA9DlgE7FNH.glb) (58.2 KB)

THE PLATFORM: iPad  
NOMAD APP VERSION: 2.8

---

<div class="post-metadata">

**Author:** ![stephomi](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.nomadsculpt.com/stephomi/32/19583_2.png) [@stephomi](https://forum.nomadsculpt.com/u/stephomi)\
**Post date:** [June 30, 2026, 10:20pm UTC](https://forum.nomadsculpt.com/t/export-gltf-smooth-shading-off/24607/2 "2026-06-30T22:20:40Z")

</div>

Godot does not support flat shading.  
So the correct export to godot is: enable normal and turn on smooth shading in Nomad

I don’t really want to add an export checkbox that would export 3 normals per face just for godot. File size would grow for nothing.

Note that the glTF spec says that flat normals should be computed if normals are not present in the file. So godot behavior of fallbacking to unlit isn’t quite correct.

> **[3.7.2.1. Overview - glTF™ 2.0 Specification](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview)**
>
> Meshes are defined as arrays of primitives. Primitives correspond to the data required for GPU draw calls. Primitives specify one or more attributes, corresponding to the vertex attributes used in the draw calls. Indexed primitives also define an...

> When tangents are not specified, client implementations **SHOULD** calculate tangents using default [MikkTSpace](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#mikktspace) algorithms with the specified vertex positions, normals, and texture coordinates associated with the normal texture.

> When normals are not specified, client implementations **MUST** calculate flat normals and the provided tangents (if present) **MUST** be ignored.
