Material

class HPS::Material

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

Public Types

enum Channel

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 Channel

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 Channel

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 ChannelMapping

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 Decimation

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 Interpolation

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 Parameterization

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 Tiling

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.