Divide a Mesh into segments to apply different materials?

Hi. I need to apply different textures to a table. Like some of the surface be scratched, some shining, some broken, etc.
How do I do it?

There are two common ways to achieve this:

  • Assign different material IDs to different parts of the model in your modelling package
  • Use mask textures to define the different areas and blend within your shader

The first method requires more drawcalls and limits you to hard edges between your materials, while the second uses more shader instructions and memory, so both have their own advantages.