I just discovered Signed Distance Fields for texturing-- not the new SDF features for making 3D objects or texturing with proximity, but the simpler 2D concept of representing a shape by a gradient around its edge. It’s been around for about a decade now, but I just heard about it, and it’s kind of a game-changer for the sort of work I like to do, so I’m hyped, and I’m in the process of working up a demo and a how-to. It’s going to be a simple still-life with some keys in a motel ashtray. Currently, I’ve just got the textures on some simple objects to tweak the textures, and then it’s on to the modeling.
The fun thing about SDFs is that in the right circumstances, they can give a sharp image at any resolution with a small texture size. It only does a single flat color (per channel), since it uses tone to indicate shape, but if you’ve got something in a more graphic style like a logo, label, or sign, it can make surprisingly small images go a long way, and is great for situations where you have some background detritus or trivial props that you don’t want to waste file size and memory on, but you want to, say, pan through them momentarily or start from a close-up and zoom out, so you can’t have jaggy or mushy pixelation.
This image, for instance, uses only two 256x256 textures: One RGBA image for the motel logo and one single-channel image for the logo on the keychain. Even practically filling the screen, there’s no hint of aliasing jaggies or anti-aliasing mush. (Compare the frontmost objects to the ones in the back. The rear items are textured with a 256x256 plain image texture, and they’ve got clear pixelation even being in the back.)
If you’re interested in SDF textures, here’s an image I’d worked up for the explainer-to-be:
Oh, and here’s the (channel-packed) image for the “Chez-Ro-Chez” ashtray image. I’m using the alpha channel as an image channel (it defines the background white mask), which is why the phone number around the top isn’t visible when it’s displayed here.
Made the ashtray. I’m not 100% happy with the modeling, but it’ll do for a demo of texturing. The new key tag is kind of ugly, though, and will probably be scrapped altogether.
Thanks for the link. The 3D SDF stuff is way over my head and I haven’t dived into it at all yet.
This is 2-dimensional and single-color, the simple idea of “make an image that tells how far each pixel is from an edge”, “if you find the zero point, you can recreate the edge”, and “if you take a smear and upsample it, you get the same smear”. It was something I ran into while trying to find out if I could use vector images as textures. The answer was “No, but this is close”.
There’s also an RGB version of this process that gives you sharper output without the rounded edges, but…
I don’t understand it, so I don’t feel qualified to speak on it.
It uses three channels to make one monochrome image (RGB) instead of one (grayscale) so it’s not as efficient.
It does sharpen the edges, but for the sorts of screenprint or painted look I’m going for, the roundedness fits and doesn’t hurt.
… I ran into while trying to find out if I could use vector images as textures. The answer was “No, but this is close”…
Even though the theory is somewhat difficult for me to grasp,
SDF modeling is very easy and forgiving, as everything remains
editable—especially when using Booleans.
In case you may not know.
MagicaCSG are able to import .SVG vector graphics
and Extrude them into 3D SDF Objects.
MagicaCSG is also able to use Fonts, also your own Font.
( Im a Patreon of it (ca 6.- Euro/Month) this is the only way
to get the Beta Versions )
There is also a very old free Version, just search for it.
The Dev is the same guy who made MagicaVoxel.
Here a Pic. Made a Part of your sample as vector graphics and import
it as SVG in MagicaCSG. So if you vectorize those Textures or rebuild
them aus vector graphics, they may be import in MagicaCSG.