I have a very large BufferGeometry that I manually provide the vertices, indices, and uv attributes to. This BufferGeometry represents a large heightmap. When I make a Mesh out of this geometry, I apply a custom MeshLambertNodeMaterial TSL material to it.
In the TSL material, I have overwritten material.normalNode to not use the geometry’s vertex normals, but rather use the normals from a normal map. This means that the BufferGeometry does not need to calculate vertex normals or even store them at all, because it doesn’t use them for anything. For example, setting material.flatShading to true or false doesn’t change the mesh’s appearance at all, because the normals of the mesh are not based on the vertex normals.
My question is, can I disable the vertex normal calculation for the BufferGeometry and ensure three.js does not waste resources managing or storing the vertex normals in geometry.attributes.normal, and also ensure that nothing “vertex normal”-related is sent to the GPU from the geometry?