# PBRMaterial

## Types

uint32_t | `ChannelMapping`
uint32_t | `AlphaMode`

## Fields

| `Red`
| `Green`
| `Blue`
| `Alpha`
| `Blend`
| `Mask`
| `Opaque`
Texture | `base_color_map`
Texture | `normal_map`
Texture | `emissive_map`
Texture | `metalness_map`
Texture | `roughness_map`
Texture | `occlusion_map`
`ChannelMapping` | `metalness_map_channel`
`ChannelMapping` | `roughness_map_channel`
`ChannelMapping` | `occlusion_map_channel`
Color | `base_color_factor`
Color | `emissive_factor`
float | `normal_factor`
float | `metalness_factor`
float | `roughness_factor`
float | `occlusion_factor`
float | `alpha_cutoff`
`AlphaMode` | `alpha_mode`
bool | `clearcoat_enabled`
float | `clearcoat_factor`
float | `clearcoat_roughness_factor`
Texture | `clearcoat_intensity_map`
Texture | `clearcoat_roughness_map`
Texture | `clearcoat_normal_map`
bool | `specular_enabled`
float | `specular_factor`
Color | `specular_color_factor`
Texture | `specular_map`
Texture | `specular_color_map`
bool | `glossiness_enabled`
float | `glossiness_factor`
Color | `glossiness_diffuse_factor`
Color | `glossiness_specular_factor`
Texture | `glossiness_diffuse_map`
Texture | `glossiness_specular_map`

## Functions

| `PBRMaterial`
bool | `operator==`
bool | `operator!=`

## Detailed Description

class `PBRMaterial`

  The PBRMaterial class is used to define a MaterialKey.

  Public Types

  enum `ChannelMapping`

    Values:

    enumerator `Red`
    enumerator `Green`
    enumerator `Blue`
    enumerator `Alpha`
  enum `AlphaMode`

    Values:

    enumerator `Blend`
    enumerator `Mask`
    enumerator `Opaque`

  Public Functions

  inline `PBRMaterial`()
  inline bool `operator==`(PBRMaterial const &that) const
  inline bool `operator!=`(PBRMaterial const &that) const

  Public Members

  Texture `base_color_map`

    Stored in sRGB color space.

  Texture `normal_map`
  Texture `emissive_map`
  Texture `metalness_map`
  Texture `roughness_map`
  Texture `occlusion_map`
  ChannelMapping `metalness_map_channel`
  ChannelMapping `roughness_map_channel`
  ChannelMapping `occlusion_map_channel`
  Color `base_color_factor`

    Stored in linear color space.

  Color `emissive_factor`

    Stored in linear color space.

  float `normal_factor`
  float `metalness_factor`
  float `roughness_factor`
  float `occlusion_factor`
  float `alpha_cutoff`
  AlphaMode `alpha_mode`
  bool `clearcoat_enabled`

    See glTF KHR_materials_clearcoat extension.

  float `clearcoat_factor`
  float `clearcoat_roughness_factor`
  Texture `clearcoat_intensity_map`

    Data must be in the R channel.

  Texture `clearcoat_roughness_map`

    Data must be in the G channel.

  Texture `clearcoat_normal_map`
  bool `specular_enabled`
  float `specular_factor`
  Color `specular_color_factor`
  Texture `specular_map`
  Texture `specular_color_map`
  bool `glossiness_enabled`
  float `glossiness_factor`
  Color `glossiness_diffuse_factor`
  Color `glossiness_specular_factor`
  Texture `glossiness_diffuse_map`
  Texture `glossiness_specular_map`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize Web or choose a sample question below to start a conversation:

What is HOOPS Visualize Web?
What are the latest release notes for HOOPS Visualize Web?
How do I start evaluating HOOPS Visualize Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...