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

原始着色器类 更多...

类 AnyCAD.Foundation.RawShader 继承关系图:

Public 成员函数

 RawShader (global::System.IntPtr cPtr, bool cMemoryOwn)
 仅供内部使用
 
void Dispose ()
 
 RawShader (string uniqueName, string vs, string fs)
 构造函数
 
string GetName ()
 
uint GetUniqueId ()
 
UniformSet GetUniforms ()
 
string GetVertexShader ()
 
string GetFragmentShader ()
 
bool GetStatic ()
 
void SetStatic (bool val)
 
void SetUniform (string name, bool val)
 设置 bool 类型的 Uniform
 
void SetUniform (string name, int val)
 设置 int 类型的 Uniform
 
void SetUniform (string name, EnumTextureUnit val)
 设置纹理单元类型的 Uniform
 
void SetUniform (string name, float val)
 设置 float 类型的 Uniform
 
void SetUniform (string name, Vector2 val)
 设置 vec2 类型的 Uniform
 
void SetUniform (string name, Vector3 val)
 设置 vec3 类型的 Uniform
 
void SetUniform (string name, Vector3d val)
 设置 dvec3 类型的 Uniform
 
void SetUniform (string name, Vector4 val)
 设置 vec4 类型的 Uniform
 
void SetUniform (string name, Matrix3 val)
 设置 mat3 类型的 Uniform
 
void SetUniform (string name, Matrix4 val)
 设置 mat4 类型的 Uniform
 
void SetUniform (string name, Matrix2 val)
 设置 mat2 类型的 Uniform
 
void BindUniformBlock (string blockname, string bindingPoint)
 绑定 Uniform Block
 
bool HasBindingPoint (string bindingPoint)
 检查是否存在指定的绑定点
 
void Dump (string outdir)
 导出着色器到文件
 

详细描述

原始着色器类

封装完整的顶点和片段着色器代码,支持 Uniform 变量管理。 可以直接加载 GLSL 代码或从文件加载。

构造及析构函数说明

◆ RawShader()

AnyCAD.Foundation.RawShader.RawShader ( string uniqueName,
string vs,
string fs )

构造函数

参数
uniqueName唯一的名称
vs顶点着色程序(GLSL代码)
fs片段着色程序(GLSL代码)

成员函数说明

◆ BindUniformBlock()

void AnyCAD.Foundation.RawShader.BindUniformBlock ( string blockname,
string bindingPoint )

绑定 Uniform Block

参数
blocknameUniform Block 名称
bindingPoint绑定点名称

将 Uniform Block 绑定到指定的绑定点

◆ Dump()

void AnyCAD.Foundation.RawShader.Dump ( string outdir)

导出着色器到文件

参数
outdir输出目录

将顶点和片段着色器代码保存到文件

◆ HasBindingPoint()

bool AnyCAD.Foundation.RawShader.HasBindingPoint ( string bindingPoint)

检查是否存在指定的绑定点

参数
bindingPoint绑定点名称
返回
true 表示存在

◆ SetUniform() [1/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
bool val )

设置 bool 类型的 Uniform

参数
nameUniform 名称
val布尔值

◆ SetUniform() [2/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
EnumTextureUnit val )

设置纹理单元类型的 Uniform

参数
nameUniform 名称
val纹理单元枚举值

◆ SetUniform() [3/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
float val )

设置 float 类型的 Uniform

参数
nameUniform 名称
val浮点值

◆ SetUniform() [4/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
int val )

设置 int 类型的 Uniform

参数
nameUniform 名称
val整数值

◆ SetUniform() [5/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Matrix2 val )

设置 mat2 类型的 Uniform

参数
nameUniform 名称
val2x2矩阵

◆ SetUniform() [6/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Matrix3 val )

设置 mat3 类型的 Uniform

参数
nameUniform 名称
val3x3矩阵

◆ SetUniform() [7/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Matrix4 val )

设置 mat4 类型的 Uniform

参数
nameUniform 名称
val4x4矩阵

◆ SetUniform() [8/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Vector2 val )

设置 vec2 类型的 Uniform

参数
nameUniform 名称
val二维向量

◆ SetUniform() [9/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Vector3 val )

设置 vec3 类型的 Uniform

参数
nameUniform 名称
val三维向量

◆ SetUniform() [10/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Vector3d val )

设置 dvec3 类型的 Uniform

参数
nameUniform 名称
val双精度三维向量(内部转换为vec3)

◆ SetUniform() [11/11]

void AnyCAD.Foundation.RawShader.SetUniform ( string name,
Vector4 val )

设置 vec4 类型的 Uniform

参数
nameUniform 名称
val四维向量