AnyCAD Rapid API 2026
Help you to create a better world!
载入中...
搜索中...
未找到
AnyCAD.Foundation.MaterialTemplate类 参考

材质模板类 更多...

类 AnyCAD.Foundation.MaterialTemplate 继承关系图:
AnyCAD.Foundation.GfxObject

Public 成员函数

 MaterialTemplate (global::System.IntPtr cPtr, bool cMemoryOwn)
 仅供内部使用
 
uint GetUpdateVersion ()
 
string GetName ()
 
void SetName (string val)
 
string GetShaderTemplateName ()
 
void SetShaderTemplateName (string val)
 
RawShader GetRawShader ()
 
void SetRawShader (RawShader val)
 
void SetNormalMapType (EnumNormalMapType type)
 设置法线贴图类型
 
EnumNormalMapType GetNormalMapType ()
 获取法线贴图类型
 
void SetEnvBlendingMode (EnumEnvBlendingMode type)
 设置环境光混合模式
 
EnumEnvBlendingMode GetEnvBlendingMode ()
 获取环境光混合模式
 
EnumFaceSide GetFaceSide ()
 
void SetFaceSide (EnumFaceSide val)
 
EnumDepthPacking GetDepthPacking ()
 
void SetDepthPacking (EnumDepthPacking val)
 
void SetAlphaTest (bool enable)
 获取/设置 Alpha 测试标志
 
bool GetAlphaTest ()
 
void SetOpaque (bool enable)
 获取/设置不透明标志
 
bool GetOpaque ()
 
void SetDithering (bool enable)
 获取/设置抖动标志
 
bool GetDithering ()
 
void SetVertexColors (bool enable)
 获取/设置顶点颜色标志
 
bool GetVertexColors ()
 
void SetVertexColors4 (bool enable)
 获取/设置4通道顶点颜色标志
 
bool GetVertexColors4 ()
 
void SetVertexTangents (bool enable)
 获取/设置顶点切线标志
 
bool GetVertexTangents ()
 
void SetFlatShading (bool enable)
 获取/设置平面着色标志
 
bool GetFlatShading ()
 
void SetFlipSided (bool enable)
 获取/设置翻转面标志
 
bool GetFlipSided ()
 
void SetSkinning (bool enable)
 获取/设置蒙皮标志
 
bool GetSkinning ()
 
void SetMorphTargets (bool enable)
 获取/设置形变目标标志
 
bool GetMorphTargets ()
 
void SetMorphNormals (bool enable)
 获取/设置形变法线标志
 
bool GetMorphNormals ()
 
void SetSizeAttenuation (bool enable)
 获取/设置尺寸衰减标志
 
bool GetSizeAttenuation ()
 
void SetReceiveShadow (bool enable)
 获取/设置接收阴影标志
 
bool GetReceiveShadow ()
 
void SetClipping (bool enable)
 获取/设置裁剪标志
 
bool GetClipping ()
 
void AddDefine (string key, string value)
 添加宏定义
 
void RemoveDefine (string key)
 移除宏定义
 
bool HasDefine (string key)
 检查是否存在宏定义
 
void AddMap (string mapId, EnumEncoding encodeing, EnumMapping mapping)
 添加纹理映射
 
bool HasMap (string mapId)
 检查是否存在纹理映射
 
void RemoveMap (string mapId)
 移除纹理映射
 
void RequestUpdate ()
 请求更新
 
string ComputeHashCode ()
 计算哈希码
 
- Public 成员函数 继承自 AnyCAD.Foundation.GfxObject
 GfxObject (global::System.IntPtr cPtr, bool cMemoryOwn)
 仅供内部使用
 
void Dispose ()
 
uint GetUuid ()
 

静态 Public 成员函数

static MaterialTemplate Cast (GfxObject obj)
 

详细描述

材质模板类

定义材质的渲染配置,包括着色器、Uniform、纹理映射和渲染标志。 材质实例基于模板创建,共享相同的渲染逻辑但有不同的参数值。

成员函数说明

◆ AddDefine()

void AnyCAD.Foundation.MaterialTemplate.AddDefine ( string key,
string value )

添加宏定义

参数
key宏名称
value宏值

添加 GLSL 预处理宏定义

◆ AddMap()

void AnyCAD.Foundation.MaterialTemplate.AddMap ( string mapId,
EnumEncoding encodeing,
EnumMapping mapping )

添加纹理映射

参数
mapId纹理ID
encodeing编码方式
mapping映射方式

注册纹理及其处理方式

◆ ComputeHashCode()

string AnyCAD.Foundation.MaterialTemplate.ComputeHashCode ( )

计算哈希码

返回
返回基于模板配置的哈希字符串

用于快速比较模板是否相同

◆ GetEnvBlendingMode()

EnumEnvBlendingMode AnyCAD.Foundation.MaterialTemplate.GetEnvBlendingMode ( )

获取环境光混合模式

返回
返回混合模式

◆ GetNormalMapType()

EnumNormalMapType AnyCAD.Foundation.MaterialTemplate.GetNormalMapType ( )

获取法线贴图类型

返回
返回法线贴图类型

◆ HasDefine()

bool AnyCAD.Foundation.MaterialTemplate.HasDefine ( string key)

检查是否存在宏定义

参数
key宏名称
返回
true 表示存在

◆ HasMap()

bool AnyCAD.Foundation.MaterialTemplate.HasMap ( string mapId)

检查是否存在纹理映射

参数
mapId纹理ID
返回
true 表示存在

◆ RemoveDefine()

void AnyCAD.Foundation.MaterialTemplate.RemoveDefine ( string key)

移除宏定义

参数
key宏名称

◆ RemoveMap()

void AnyCAD.Foundation.MaterialTemplate.RemoveMap ( string mapId)

移除纹理映射

参数
mapId纹理ID

◆ RequestUpdate()

void AnyCAD.Foundation.MaterialTemplate.RequestUpdate ( )

请求更新

递增更新版本号,通知系统模板已修改

◆ SetAlphaTest()

void AnyCAD.Foundation.MaterialTemplate.SetAlphaTest ( bool enable)

获取/设置 Alpha 测试标志

true 表示启用 Alpha 测试(丢弃透明像素)

◆ SetClipping()

void AnyCAD.Foundation.MaterialTemplate.SetClipping ( bool enable)

获取/设置裁剪标志

true 表示启用裁剪平面

◆ SetDithering()

void AnyCAD.Foundation.MaterialTemplate.SetDithering ( bool enable)

获取/设置抖动标志

true 表示启用颜色抖动以减少色带效应

◆ SetEnvBlendingMode()

void AnyCAD.Foundation.MaterialTemplate.SetEnvBlendingMode ( EnumEnvBlendingMode type)

设置环境光混合模式

参数
type混合模式枚举值

◆ SetFlatShading()

void AnyCAD.Foundation.MaterialTemplate.SetFlatShading ( bool enable)

获取/设置平面着色标志

true 表示使用平面着色(无插值)

◆ SetFlipSided()

void AnyCAD.Foundation.MaterialTemplate.SetFlipSided ( bool enable)

获取/设置翻转面标志

true 表示翻转面的朝向

◆ SetMorphNormals()

void AnyCAD.Foundation.MaterialTemplate.SetMorphNormals ( bool enable)

获取/设置形变法线标志

true 表示形变时也计算法线

◆ SetMorphTargets()

void AnyCAD.Foundation.MaterialTemplate.SetMorphTargets ( bool enable)

获取/设置形变目标标志

true 表示启用顶点形变动画

◆ SetNormalMapType()

void AnyCAD.Foundation.MaterialTemplate.SetNormalMapType ( EnumNormalMapType type)

设置法线贴图类型

参数
type法线贴图类型枚举值

◆ SetOpaque()

void AnyCAD.Foundation.MaterialTemplate.SetOpaque ( bool enable)

获取/设置不透明标志

true 表示完全不透明材质

◆ SetReceiveShadow()

void AnyCAD.Foundation.MaterialTemplate.SetReceiveShadow ( bool enable)

获取/设置接收阴影标志

true 表示该材质接收阴影

◆ SetSizeAttenuation()

void AnyCAD.Foundation.MaterialTemplate.SetSizeAttenuation ( bool enable)

获取/设置尺寸衰减标志

true 表示点大小随距离衰减

◆ SetSkinning()

void AnyCAD.Foundation.MaterialTemplate.SetSkinning ( bool enable)

获取/设置蒙皮标志

true 表示启用骨骼蒙皮动画

◆ SetVertexColors()

void AnyCAD.Foundation.MaterialTemplate.SetVertexColors ( bool enable)

获取/设置顶点颜色标志

true 表示使用顶点颜色

◆ SetVertexColors4()

void AnyCAD.Foundation.MaterialTemplate.SetVertexColors4 ( bool enable)

获取/设置4通道顶点颜色标志

true 表示使用RGBA顶点颜色

◆ SetVertexTangents()

void AnyCAD.Foundation.MaterialTemplate.SetVertexTangents ( bool enable)

获取/设置顶点切线标志

true 表示需要顶点切线数据(用于法线贴图)