Material
Ploy3D / Material
Class: Material
材质实例。
Hierarchy
Table of contents
Constructors
Accessors
- bindingID
- bufferHeap
- bufferID
- bufferSize
- classid
- g2_customID
- g2_enableFlags
- g2_formatFlags
- g3_ptrSkeletonSkin
- group
- guid
- instanceID
- internalPtr
- label
- offset
- package
- ptrCache
- ptrLut
- readTS
- shader
- shaderID
- size
- state
- tuple
- updated
- view
- writeTS
Methods
Constructors
constructor
• new Material(id
)
构造函数。
Parameters
Name | Type | Description |
---|---|---|
id | number | 资源实例ID。 |
Overrides
Accessors
bindingID
• get
bindingID(): number
绑定对象ID。
Returns
number
• set
bindingID(value
): void
特别指定(内部使用,以负值记录)绑定对象ID。
Parameters
Name | Type |
---|---|
value | number |
Returns
void
bufferHeap
• get
bufferHeap(): number
缓存所属堆索引。
Returns
number
bufferID
• get
bufferID(): number
缓存ID。
Returns
number
bufferSize
• get
bufferSize(): number
缓存大小,不可扩容,256的倍数。
Returns
number
classid
• get
classid(): ClassID
实例类型ID。
Returns
Inherited from
Resource.classid
g2_customID
• get
g2_customID(): number
用户定义ID。
Returns
number
• set
g2_customID(value
): void
Parameters
Name | Type |
---|---|
value | number |
Returns
void
g2_enableFlags
• get
g2_enableFlags(): number
材质属性启用标记集(G2,RENDERSETTINGS_FLAG.PROPS部分)。
Returns
number
g2_formatFlags
• get
g2_formatFlags(): number
材质贴图格式标记集(G2,每个贴图占2位,最多支持16个贴图)。
Returns
number
g3_ptrSkeletonSkin
• get
g3_ptrSkeletonSkin(): io_ptr
骨骼蒙皮数据(G3)。
Returns
group
• get
group(): number
属性组编号,可选值有0、1、2、3。
Returns
number
guid
• get
guid(): string
资源全球唯一ID。
Returns
string
Inherited from
Resource.guid
instanceID
• get
instanceID(): number
实例ID。
Returns
number
Inherited from
Resource.instanceID
internalPtr
• get
internalPtr(): io_ptr
实例内部指针。
Returns
Inherited from
Resource.internalPtr
label
• get
label(): string
实例用户可理解的外部标签。
Returns
string
Inherited from
Resource.label
• set
label(label
): void
Parameters
Name | Type |
---|---|
label | string |
Returns
void
Inherited from
Resource.label
offset
• get
offset(): number
属性块在缓存中的位置偏移,256对齐。
Returns
number
package
• get
package(): Package
资源所属资源包。
Returns
Inherited from
Resource.package
ptrCache
• get
ptrCache(): io_ptr
缓存内存块指针,256字节对齐。
Returns
ptrLut
• get
ptrLut(): Record
<string
, io_ptr
>
获取属性指针字典。
Returns
Record
<string
, io_ptr
>
readTS
• get
readTS(): number
属性用于渲染读取时间戳。
Returns
number
shader
• get
shader(): ShaderRes
材质使用的着色器(材质未实例化时返回空)。
Returns
shaderID
• get
shaderID(): number
着色器ID,0无效。
Returns
number
size
• get
size(): number
属性块在缓存中的占用大小,256对齐。
Returns
number
state
• get
state(): ResState
实例状态。
Returns
Inherited from
Resource.state
tuple
• get
tuple(): number
属性元组(属性访问器)ID。
Returns
number
updated
• get
updated(): number
属性块数据更新状态。
Returns
number
view
• get
view(): Record
<string
, ArrayLike
<number
>>
获取属性视图(注意,每次获取视图都会给视图绑定一个最新的地址,开发人员需要明确了解当前绑定地址未失效)。
Returns
Record
<string
, ArrayLike
<number
>>
writeTS
• get
writeTS(): number
属性上传GPU时间戳(为0时自动初始化属性块)。
Returns
number
Methods
Bind
▸ Bind(passEncoder
): void
绑定统一资源绑定对象。
Parameters
Name | Type | Description |
---|---|---|
passEncoder | GLRenderPassEncoder | 渲染通道命令编码器。 |
Returns
void
Clear
▸ Clear(): void
清除资源内部状态。
Returns
void
Inherited from
Enable
▸ Enable(enable
, flag
): void
启用特殊属性标记。
Parameters
Name | Type |
---|---|
enable | boolean |
flag | Props_combining_roughness_metallic | Props_normalTexFlipY | Props_doubleSided |
Returns
void
GetTexture
▸ GetTexture(name
): Texture2D
获取贴图属性(材质未装载完成时返回空)。
Parameters
Name | Type | Description |
---|---|---|
name | string | 属性名称。 |
Returns
GetVector
▸ GetVector(name
): number
[]
获取向量属性。 注意:标量被视为一维向量。
Parameters
Name | Type | Description |
---|---|---|
name | string | 属性名称。 |
Returns
number
[]
HasProperty
▸ HasProperty(name
): boolean
判断材质是否包含指定属性(材质未实例化前总是返回false)。
Parameters
Name | Type | Description |
---|---|---|
name | string | 属性名称,注意贴图属性需要加上"_info"后缀。 |
Returns
boolean
Init
▸ Init(_package
, _asset
): Promise
<Material
>
异步初始化资源实例
Parameters
Name | Type | Description |
---|---|---|
_package | Package | 资源包实例。 |
_asset | Asset | 资源数据。 |
Returns
Promise
<Material
>
返回异步对象。
Inherited from
Release
▸ Release(): void
释放资源引用(主要是贴图,注意该方法仅提供给内核在释放统一资源描述符前调用)。
Returns
void
SetBlendMode
▸ SetBlendMode(blendMode
): void
G2特殊方法,设置
Parameters
Name | Type |
---|---|
blendMode | BlendMode |
Returns
void
SetTexture
▸ SetTexture(name
, value
): void
设置贴图属性(材质未装载完成时设置无效)。
Parameters
Name | Type | Description |
---|---|---|
name | string | 属性名称。 |
value | Texture2D | 贴图对象。 |
Returns
void
SetVector
▸ SetVector(name
, value
): void
设置向量属性。 注意:标量被视为一维向量。
Parameters
Name | Type | Description |
---|---|---|
name | string | 属性名称。 |
value | number [] | 数值数组。 |
Returns
void