# Material

class `Material`

  The Material class is a concept class for material-related enum classes.

  Public Types

  enum class `Channel` : uint32_t

    Material Channel

    Values:

    enumerator `DiffuseColor`

      Material Channel.

    enumerator `DiffuseTexture`

      Material Channel.

    enumerator `Specular`

      Material Channel.

    enumerator `Emission`

      Material Channel.

    enumerator `Transmission`

      Material Channel.

    enumerator `Mirror`

      Material Channel.

    enumerator `Bump`

      Material Channel.

    enumerator `EnvironmentTexture`

      Material Channel.

    enumerator `EnvironmentCubeMap`

      Material Channel.

    enumerator `Gloss`

      Material Channel.

    enumerator `Alpha`

      Material Channel.

  class `Color`

    The Material Color Class

    Public Types

    enum class `Channel` : uint32_t

      Material Color Channel

      Values:

      enumerator `DiffuseColor`

        Material Color Channel.

      enumerator `Specular`

        Material Color Channel.

      enumerator `Emission`

        Material Color Channel.

      enumerator `Mirror`

        Material Color Channel.

  class `Texture`

    The Material::Texture class is a concept class for texture-related enum classes.

    Public Types

    enum class `Channel` : uint32_t

      Material Texture Channel

      Values:

      enumerator `DiffuseTexture`

        Material Texture Channel.

      enumerator `Specular`

        Material Texture Channel.

      enumerator `Emission`

        Material Texture Channel.

      enumerator `Transmission`

        Material Texture Channel.

      enumerator `Mirror`

        Material Texture Channel.

      enumerator `Bump`

        Material Texture Channel.

      enumerator `EnvironmentTexture`

        Material Texture Channel.

      enumerator `EnvironmentCubeMap`

        Material Texture Channel.

    enum class `ChannelMapping` : uint32_t

      Material Texture ChannelMapping

      Values:

      enumerator `Red`

        Material Texture ChannelMapping.

      enumerator `Green`

        Material Texture ChannelMapping.

      enumerator `Blue`

        Material Texture ChannelMapping.

      enumerator `Alpha`

        Material Texture ChannelMapping.

      enumerator `Zero`

        Material Texture ChannelMapping.

      enumerator `One`

        Material Texture ChannelMapping.

      enumerator `Luminance`

        Material Texture ChannelMapping.

    enum class `Decimation` : uint32_t

      Enumeration of the various decimation filters for textures. These are used when the texture needs to minimized.

      Values:

      enumerator `None`

        No down-sampling will be performed. Data will be retrieved via the specified Texture::Interpolation filter.

      enumerator `Anisotropic`

        The texture will be down-sampled to non-square image sizes which will get used for sampling and filtering based on the angle between the normal of a textured surface and the view vector.

      enumerator `Mipmap`

        The texture will be down-sampled to square, power-of-two-sized images which will get used for sampling and filtering.

    enum class `Interpolation` : uint32_t

      Enumeration of the various interpolation filters for textures. These are used when the texture needs to be magnified.

      Values:

      enumerator `None`

        The texture coordinate will map to the closest texture samples.

      enumerator `Bilinear`

        The texture data from the four closest texture samples to a texture coordinate will be blended via a weighted average.

    enum class `Parameterization` : uint32_t

      Enumeration of the parameterization sources for textures.

      Values:

      enumerator `Cylinder`

        Use a cylindrical mapping for the texture.

      enumerator `PhysicalReflection`

        Texture Parameterization.

      enumerator `Object`

        Use the (x,y,z) coordinates for the object before transforms have been applied for the texture parameters.

      enumerator `NaturalUV`

        Use the natural mapping for meshes, NURBS surfaces and shells for the texture. For meshes, textures will be stretched in the range [0,1]. For NURBS surfaces, textures will be mapped in the range [0,(control point count - degree)]. For shells, textures will be mapped such that u=x+z and v=x+y where (x,y,z) is in object space.

      enumerator `ReflectionVector`

        Texture Parameterization.

      enumerator `SurfaceNormal`

        Texture Parameterization.

      enumerator `Sphere`

        Use a spherical mapping for the texture.

      enumerator `UV`

        Use the mapping explicitly defined on the geometry for the texture.

      enumerator `World`

        Use the (x, y, z) coordinates for the object after transforms have been applied for the texture parameters.

    enum class `Tiling` : uint32_t

      Enumeration of the tiling modes for textures.

      Values:

      enumerator `Clamp`

        The texture will get mapped normally for parameters in the range [0,1], but parameters less than 0 will be clamped to 0 and parameters greater than 1 will be clamped to 1.

      enumerator `Repeat`

        The texture will get mapped repeatedly in a modulo fashion.

      enumerator `Reflect`

        The texture will get mapped repeatedly in a modulo fashion. Every other modulo will also be inverted.

      enumerator `Trim`

        The texture will get mapped normally for parameters in the range [0,1], but parameters outside that range will act as if the texture at that location is transparent.

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating