1
\$\begingroup\$

I have utilized a tool for a number of years that uses a "masking" technique to 'texture' a 2D graphic, by which it checks a series of solid colors to specify where to 'draw' textures in a final render. I have seen one other example of this in my searches on Google, and even that did not explain exactly what was happening or the name of this process. It seems to be used for creating sprites or video game graphics, as the only example I was able to find online was a gamedev postmortem discussing how they applied 'texturing' to some of their sprites. All I can do is show an example using the software I have (Which itself, barely explains what this process is called, just the way it works within the context of the software)

Example Mask and Textures

So in this case, the solid colors Black, Gray, Blue, and Green (In the "Mask" window at the bottom left) correspond to where specific textures/colors are going to be drawn in the final Hourglass graphic. There are additional colors available to use in this particular software, but I cannot for the life of me find any other software that does something like this. Let alone the name of the particular "colored mask/index" technique. It is capable of doing several other things by reading the colors in a mask, including rendering textures at angles or curves with the same kind of process.

Curved Texture

The company I purchased the software from no longer exists, so there is no way to even contact them about their own software. Any ideas what this is even called? Or does anyone know any alternative way to do something like this?

\$\endgroup\$
2
\$\begingroup\$

In terms of game dev, what you've described sounds somewhat like multi-texturing: blending of multiple textures on the same surface. Texture splatting is a related idea, though it usually more concerned with blending textures in a seamless manner.

With multi-texturing, usually the source textures are keyed to a particular color channel (red, blue, green and possibly alpha) and the weight of each channel is used to blend the source textures into a final result. For instance, a pixel that had an RGB value of (255, 192, 64) would be 50% texture 1, 37.5% texture 2 and 12.5% texture 3.

In contrast, your example appears to be the color strictly as in index and the final result looks more like a form of digital compositing. Some programming APIs (such as Java's 2d graphics API) support complex compositing operations - by chaining together a series of compositing operations, you could get the desired result.

Unrelated to game dev: screentones are used in comics & manga as an alternative to hatching; some software used in those workflows might have a tool or feature that would replicate the effect you are looking for.

\$\endgroup\$
0
1
\$\begingroup\$

I refer to it as an index material since you're basically using each channel within an image as an index for masking out different things other than displaying an actual image.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.