# 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