OpenGL ES 2.0 新增Shader着色器

官网定义https://www.opengl.org/sdk/docs/man2/xhtml/glCreateShader.xml

    Shader为着色器,为OpenGL ES 2.0及以上版本应用的一种对象;

    着色器对象的相关操作有:

    glCreateShader 创建一个空Shader(着色器)对象,并返回此对象可以引用的非零值,Shader对象可以执行用字符串表示的一段程序,用于定义一个着色器;

    C语言版本的原型为

    GLuint glCreateShader(GLenum shaderType)
    JAVA版本原型为
    int glCreateShader(int shareType)
    其中,shareType为枚举类型,取值为GL_VERTEX_SHADER或GL_FRAGMENT_SHADER,即分别为两种着色器:顶点着色器和片段着色器;此顶点着色器运行在可编程顶点处理单元,替换OpenGL中固定的顶点处理功能;相应的片段着色器运行在可编程片段处理单元,并替换OpenGL中单调的片段处理功能;Shader对象创建后,其成员变量GL_SHADER_TYPE被置为相应的着色器类型;当调用失败时,返回0,如果没有输入着色器类型,将返回GL_INVALID_ENUM,如果调用发生在glBegin和glEnd中间,将返回错误GL_INVALID_OPERATION。


    glShaderSource用于替换shader对象中的可以执行的字符串,

    C语言版本的原型为:

    void glShaderSource(GLuint shader, GLsizei count, const GLChar **string, const GLint *length)
参数shader为当前Shader对象的操作句柄,count为字符串数组中字符串个数,string为字符串数组,用于替换shader对象的字符串,length为数组各字符串元素的长度;

    JAVA版本的原型为:

    void glShaderSource(int shader, String string)
shader为Shader对象的操作句柄,string为用于替换的字符串;

    此函数被调用后,shader对象的字符串将全部被输入的字符串替换。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值