Posted May 11, 2023 by desertslug
The next step forwards deals solely with graphics. The terrain mesh and railway track are now rendered with procedurally generated textures, and most models with hand-painted textures. At the moment, all their shaders just output a diffuse texture sample as the fragment color.
Aside from unwrapping and painting models by hand, I had to spend a fair bit of time automating model exporting from Blender. The procedure involves unwrapping all objects onto a single UV map, then setting up new materials for each with a shader that takes one source texture for each object, and bakes all of them to a single texture atlas based on the collective UV map.