As I understand it, the usual concept of a “material” in computer graphics, particularly 3D modeling, is a set of parameters (for example, color, specular reflectivity, IOR, light emission, etc.), some specified by textures and some by constants, that are sufficient to simulate the appearance of some substance when applied to some shape.

However, when computing the appearance of a single point on a surface (or within a volume), these parameters take on single values (which may have been sampled from a texture) which are sufficient for the shader or raytracer to compute the effect of hitting/viewing that surface (when combined with the incoming and outgoing ray directions, which are not part of this sample).

Is there an established/recognizable name for the full set (whatever the shading technique in use requires) of these single-point values, as distinct from the overall material? (Or, perhaps, are these too just “the material”?)

  • The best description that has been suggested to me so far is “material sample” (sample of the material) but ideally, I would like a term that does not as strongly suggest that it is a piece of a larger entity that already existed, but rather an “atom” itself that could perhaps, but does not have to, be assembled with others to create a material (including procedural generation that does not necessarily contain the original value at any point). I don't expect to necessarily find that, though.

  • The term “maxel” is in active use as a “material element” by analogy with “pixel” and “voxel”. However, its usage is exclusively in materials science and additive manufacturing, to describe a mix of substances (materials) that might make up a part of an object, so it is the wrong quantities and also a point in the wrong space/axes — object/mesh space rather than material space. One could reuse the word construction but that seems likely to increase confusion.

While the reason I'm asking this is to come up with vocabulary I can use in my program, to keep this question reasonably objective, please do not propose newly invented names — I'm only looking for any established terminology that I could use or at least take inspiration from.

  • 1
    $\begingroup$ What if we take issue with your definition of, for example, "material"? Like, generally speaking, I would use the term to refer, not to things like a "normal map", but to the particular elements in the lighting equation that describe the surface (as modeled by said equation). Surfaces have a normal, but it doesn't matter to the "material" if that normal comes from a per-vertex interpolated value or the result of a texture access. "Having a normal" is a material parameter; where the normal comes from is not the business of the material. $\endgroup$ Nov 30, 2022 at 23:22
  • $\begingroup$ @NicolBolas I was thinking of normal-mapped surface detail, like cloth or leather might have. Perhaps that is a bad example since it does relate more to the shape than the other things you refer to. I must admit that I'm not greatly familiar with the finer points — I'm a programmer doing this for a hobby, not an artist or professional game developer. That's why I'm asking this question — I want to use accurate and clear terminology. I've changed the list of examples to hopefully be more relevant and uncontentious. $\endgroup$
    – Kevin Reid
    Nov 30, 2022 at 23:40
  • $\begingroup$ A sample of the brdf/bsdf? You feed it a position, an outgoing and incident direction and you get a value $f(x, \omega_o, \omega_i)$. Many people mix in Lambert's term into this, i.e. $f(x,\omega_o,\omega_i) |n_x \cdot \omega_i|$, so that would be a sample of the product between the brdf/bsdf and the cosine. This tells you everything you need to know about how much radiance arriving from direction $\omega_i$ is reflected at location $x$ along direction $\omega_o$. $\endgroup$
    – lightxbulb
    Jan 16 at 19:46
  • $\begingroup$ @lightxbulb The concept I am looking for does not include the incoming or outgoing directions; that is, the sample is some representation of the function $f(\omega_o, \omega_i)$, just as sampling textures gives you parameters you can then use in your actual BRDF with your actual ray directions. $\endgroup$
    – Kevin Reid
    Jan 16 at 19:56
  • $\begingroup$ The it is still a bsdf sample, just one that is only positional $f(x, \cdot, \cdot)$, i.e. it returns a function. The parameters that define the bsdf vary quite a bit depending on the model. $\endgroup$
    – lightxbulb
    Jan 16 at 20:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.