Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Material::Texture Class Reference

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

#include <hps.h>

Public Types

enum  Channel : uint32_t {
  Channel::DiffuseTexture = 2,
  Channel::Specular = 3,
  Channel::Emission = 4,
  Channel::Transmission = 5,
  Channel::Mirror = 6,
  Channel::Bump = 7,
  Channel::EnvironmentTexture = 8,
  Channel::EnvironmentCubeMap = 9
}
 Material Texture Channel. More...
 
enum  Parameterization : uint32_t {
  Parameterization::Cylinder,
  Parameterization::PhysicalReflection,
  Parameterization::Object,
  Parameterization::NaturalUV,
  Parameterization::ReflectionVector,
  Parameterization::SurfaceNormal,
  Parameterization::Sphere,
  Parameterization::UV,
  Parameterization::World
}
 Enumeration of the parameterization sources for textures. More...
 
enum  Tiling : uint32_t {
  Tiling::Clamp,
  Tiling::Repeat,
  Tiling::Reflect,
  Tiling::Trim
}
 Enumeration of the tiling modes for textures. More...
 
enum  Interpolation : uint32_t {
  Interpolation::None,
  Interpolation::Bilinear
}
 Enumeration of the various interpolation filters for textures. More...
 
enum  Decimation : uint32_t {
  Decimation::None,
  Decimation::Anisotropic,
  Decimation::Mipmap
}
 Enumeration of the various decimation filters for textures. More...
 
enum  ChannelMapping : uint32_t {
  ChannelMapping::Red,
  ChannelMapping::Green,
  ChannelMapping::Blue,
  ChannelMapping::Alpha,
  ChannelMapping::Zero,
  ChannelMapping::One,
  ChannelMapping::Luminance
}
 Material Texture ChannelMapping. More...
 

Private Member Functions

 Texture ()
 

Detailed Description

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

Member Enumeration Documentation

◆ Channel

enum HPS::Material::Texture::Channel : uint32_t
strong

Material Texture Channel.

Enumerator
DiffuseTexture 

Material Texture Channel.

Specular 

Material Texture Channel.

Emission 

Material Texture Channel.

Transmission 

Material Texture Channel.

Mirror 

Material Texture Channel.

Bump 

Material Texture Channel.

EnvironmentTexture 

Material Texture Channel.

EnvironmentCubeMap 

Material Texture Channel.

◆ ChannelMapping

Material Texture ChannelMapping.

Enumerator
Red 

Material Texture ChannelMapping.

Green 

Material Texture ChannelMapping.

Blue 

Material Texture ChannelMapping.

Alpha 

Material Texture ChannelMapping.

Zero 

Material Texture ChannelMapping.

One 

Material Texture ChannelMapping.

Luminance 

Material Texture ChannelMapping.

◆ Decimation

enum HPS::Material::Texture::Decimation : uint32_t
strong

Enumeration of the various decimation filters for textures.

These are used when the texture needs to minimized.

Enumerator
None 

No down-sampling will be performed.

Data will be retrieved via the specified Texture::Interpolation filter.

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.

Mipmap 

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

◆ Interpolation

enum HPS::Material::Texture::Interpolation : uint32_t
strong

Enumeration of the various interpolation filters for textures.

These are used when the texture needs to be magnified.

Enumerator
None 

The texture coordinate will map to the closest texture samples.

Bilinear 

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

◆ Parameterization

Enumeration of the parameterization sources for textures.

Enumerator
Cylinder 

Use a cylindrical mapping for the texture.

PhysicalReflection 

Texture Parameterization.

Object 

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

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.

ReflectionVector 

Texture Parameterization.

SurfaceNormal 

Texture Parameterization.

Sphere 

Use a spherical mapping for the texture.

UV 

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

World 

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

◆ Tiling

enum HPS::Material::Texture::Tiling : uint32_t
strong

Enumeration of the tiling modes for textures.

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.

Repeat 

The texture will get mapped repeatedly in a modulo fashion.

Reflect 

The texture will get mapped repeatedly in a modulo fashion.

Every other modulo will also be inverted.

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.

Constructor & Destructor Documentation

◆ Texture()

HPS::Material::Texture::Texture ( )
inlineprivate

The documentation for this class was generated from the following file: