Smooth shading for extruded circle

Hello,

I’m trying to achieve smooth shading for an extruded circle.
I tried the suggestions I found in the forum (computeVertexNormals, flatShading: false), but non of those seem to work.
Fiddle: https://jsfiddle.net/ensptrj5/8/
image

Thank you for your help in advance!

flatShading is false by default so setting it to false has no effect.

Calling computeVertexNormals() has not the expected effect since the geometry is non-indexed. Meaning no vertices are shared between triangles so the surface has to look flat shaded when calling this method.

You could try to use BufferGeometryUtils.mergeVertices() to create an indexed geometry. However this function can only merge vertices if all existing vertex data match (vertices, normals, uvs, colors etc.). This makes it problematic to use it with ExtrudeGeometry see https://jsfiddle.net/r6zguh09/1/.

It’s probably best if you create a custom cylinder mesh in Blender and import it as a glTF asset.

1 Like

Okay, thank you for the help!