GLES3.0中文API-glShaderBinary

glShaderBinary 函数用于加载预编译的着色器二进制文件到 OpenGL ES 3.0 着色器对象中。该功能是可选的,需要查询 GL_NUM_SHADER_BINARY_FORMATS 和 GL_SHADER_BINARY_FORMATS 来检查支持。函数接受着色器对象句柄、二进制格式、二进制数据及长度作为参数,用于加载顶点或片段着色器,或包含优化对的二进制文件。如果二进制格式不受支持或参数错误,将返回错误。成功加载后,OpenGL 会复制二进制数据,允许应用释放原始数据。

名称

glShaderBinary - 加载预编译的着色器二进制文件

C规范

void glShaderBinary( GLsizei n,
const GLuint *shaders,
GLenum binaryformat,
const void *binary,
GLsizei length);

参数

n

指定着色器中存在的着色器对象句柄的数量。

shaders

指定指向将加载着色器二进制文件的着色器对象控制器数组的指针。

binaryformat

指定着色器二进制格式。

binary

指定指向客户端内存中着色器二进制数据的指针。

length

指定着色器二进制数据的长度(以字节为单位)。

描述

对于支持它们的实现,glShaderBinary加载预编译的着色器二进制文件。着色器包含n个着色器对象句柄的列表。每个句柄都引用一种独特的着色器类型(顶点着色器或片段着色器)。二进制指向客户端内存中预编译的二进制着色器代码,binaryformat表示预编译代码的格式。

根据定义指定二进制格式的扩展规范对二进制图像进行解码。 OpenGL ES没有定义特定的二进制格式,但确实提供了一种机制来获取扩展提供的这种格式的符号常量。可以通过查询GL_NUM_SHADER_BINARY_FORMATS的值来获取支持的着色器二进制格式的数量。支持的特定二进制格式列表可以通过查询GL_SHADER_BINARY_FORMATS的值来获得。

根据着色器中着色器对象的类型,glShaderBinary将单独加载二进制顶点或片段着色器,或加载包含存储在同一二进制文件中的优化顶点和片段着色器对的可执行二进制文件。

如果glShaderBinary失败,则不会恢复为其加载二进制文件的旧对象着色器对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值