[gs-longan](../README.md) / PBRMaterial

# Class: PBRMaterial

## Hierarchy

- `PBRBaseMaterial`

  ↳ **`PBRMaterial`**

## Table of contents

### Constructors

- [constructor](PBRMaterial.md#constructor)

### Properties

- [\_albedoColor](PBRMaterial.md#_albedocolor)
- [\_worldModellingMatrix](PBRMaterial.md#_worldmodellingmatrix)
- [fina](PBRMaterial.md#fina)
- [init](PBRMaterial.md#init)
- [originJson](PBRMaterial.md#originjson)
- [typeName](PBRMaterial.md#typename)

### Accessors

- [albedoColor](PBRMaterial.md#albedocolor)
- [defines](PBRMaterial.md#defines)
- [fillMode](PBRMaterial.md#fillmode)
- [name](PBRMaterial.md#name)
- [pointSize](PBRMaterial.md#pointsize)
- [pointsCloud](PBRMaterial.md#pointscloud)
- [properties](PBRMaterial.md#properties)
- [shader](PBRMaterial.md#shader)
- [viewer](PBRMaterial.md#viewer)
- [visible](PBRMaterial.md#visible)

### Methods

- [\_executeFina](PBRMaterial.md#_executefina)
- [\_executeInit](PBRMaterial.md#_executeinit)
- [bindForSubMesh](PBRMaterial.md#bindforsubmesh)
- [deserialize](PBRMaterial.md#deserialize)
- [draw](PBRMaterial.md#draw)
- [serialize](PBRMaterial.md#serialize)
- [setShader](PBRMaterial.md#setshader)

## Constructors

### constructor

• **new PBRMaterial**(`viewer?`): [`PBRMaterial`](PBRMaterial.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer?` | [`Viewer`](Viewer.md) |

#### Returns

[`PBRMaterial`](PBRMaterial.md)

#### Overrides

PBRBaseMaterial.constructor

## Properties

### \_albedoColor

• **\_albedoColor**: [`Color3`](Color3.md)

AKA Diffuse Color in other nomenclature.

#### Inherited from

PBRBaseMaterial.\_albedoColor

___

### \_worldModellingMatrix

• **\_worldModellingMatrix**: `Float32Array` = `null`

主要用于构件的位置变换.

#### Inherited from

PBRBaseMaterial.\_worldModellingMatrix

___

### fina

• **fina**: [`List`](List.md)\<(`viewer`: [`Viewer`](Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

#### Inherited from

PBRBaseMaterial.fina

___

### init

• **init**: [`List`](List.md)\<(`viewer`: [`Viewer`](Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

#### Inherited from

PBRBaseMaterial.init

___

### originJson

• **originJson**: `any` = `null`

#### Inherited from

PBRBaseMaterial.originJson

___

### typeName

• **typeName**: `string` = `"Longan::Assets::Material"`

#### Inherited from

PBRBaseMaterial.typeName

## Accessors

### albedoColor

• `get` **albedoColor**(): [`Color3`](Color3.md)

#### Returns

[`Color3`](Color3.md)

#### Inherited from

PBRBaseMaterial.albedoColor

• `set` **albedoColor**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`Color3`](Color3.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.albedoColor

___

### defines

• `get` **defines**(): [`MaterialDefines`](MaterialDefines.md)

#### Returns

[`MaterialDefines`](MaterialDefines.md)

#### Inherited from

PBRBaseMaterial.defines

• `set` **defines**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`MaterialDefines`](MaterialDefines.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.defines

___

### fillMode

• `get` **fillMode**(): `number`

获取材质的几何填充方式。

#### Returns

`number`

#### Inherited from

PBRBaseMaterial.fillMode

• `set` **fillMode**(`value`): `void`

获取材质的几何填充方式。

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.fillMode

___

### name

• `get` **name**(): `string`

#### Returns

`string`

#### Inherited from

PBRBaseMaterial.name

• `set` **name**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `string` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.name

___

### pointSize

• `get` **pointSize**(): `number`

获取绘制点的大小。

#### Returns

`number`

#### Inherited from

PBRBaseMaterial.pointSize

• `set` **pointSize**(`value`): `void`

设置绘制点的大小。

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.pointSize

___

### pointsCloud

• `get` **pointsCloud**(): `boolean`

获取是否为点云绘制模式。

#### Returns

`boolean`

#### Inherited from

PBRBaseMaterial.pointsCloud

• `set` **pointsCloud**(`value`): `void`

设置是否为点云绘制模式。

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.pointsCloud

___

### properties

• `get` **properties**(): `PropertyCollection`

#### Returns

`PropertyCollection`

#### Inherited from

PBRBaseMaterial.properties

• `set` **properties**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `PropertyCollection` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.properties

___

### shader

• `get` **shader**(): [`Shader`](Shader.md)

#### Returns

[`Shader`](Shader.md)

#### Inherited from

PBRBaseMaterial.shader

• `set` **shader**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`Shader`](Shader.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.shader

___

### viewer

• `get` **viewer**(): [`Viewer`](Viewer.md)

#### Returns

[`Viewer`](Viewer.md)

#### Inherited from

PBRBaseMaterial.viewer

___

### visible

• `get` **visible**(): `boolean`

#### Returns

`boolean`

#### Inherited from

PBRBaseMaterial.visible

• `set` **visible**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.visible

## Methods

### \_executeFina

▸ **_executeFina**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.\_executeFina

___

### \_executeInit

▸ **_executeInit**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.\_executeInit

___

### bindForSubMesh

▸ **bindForSubMesh**(`mesh`, `submesh`): `void`

Binds the submesh data.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `mesh` | [`Mesh`](../interfaces/Mesh.md) | The BJS mesh. |
| `submesh` | [`SubMesh`](SubMesh.md) | - |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.bindForSubMesh

___

### deserialize

▸ **deserialize**(`obj`, `pm?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `obj` | `any` |
| `pm?` | [`IPersistenceManager`](../interfaces/Interface.IPersistenceManager.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.deserialize

___

### draw

▸ **draw**(`geometry`, `submesh`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `geometry` | [`Geometry`](../interfaces/Interface.Geometry.md) |
| `submesh` | [`SubMesh`](SubMesh.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.draw

___

### serialize

▸ **serialize**(`pm?`): `any`

#### Parameters

| Name | Type |
| :------ | :------ |
| `pm?` | [`IPersistenceManager`](../interfaces/Interface.IPersistenceManager.md) |

#### Returns

`any`

#### Inherited from

PBRBaseMaterial.serialize

___

### setShader

▸ **setShader**(`shader`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `shader` | [`Shader`](Shader.md) |

#### Returns

`void`

#### Inherited from

PBRBaseMaterial.setShader
