These don’t need to be super high resolution, but since they are displaying text, they should be legible. In general, I am ok with the quality of the second image with the code changes. That being said, the code seems overly complicated probably because I am missing some basic understanding of what eventually controls how this texture is rendered.
Any tips to simplifying the code and achieving a legible result are appreciated.
You don’t need 2 renderers for that, just the dom element labels on top you can unproject the positions yourself from the objects. I use that for player labels, chat bubbles etc too.
I know this doesn’t answer your question, but you can use three-mesh-ui to add texts and html-like elements in your scene. The text is not rendered from canvas texture, if you zoom in this example you will see that it’s very sharp.