OpenGLES3.0创建和编译着色器相关语法-创新互联

// 创建着色器,返回句柄

创新互联公司专注于宿豫网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宿豫营销型网站建设,宿豫网站制作、宿豫网页设计、宿豫网站官网定制、成都小程序开发服务,打造宿豫网络公司原创品牌,更为您提供宿豫网站排名全网营销落地服务。

GLuint glCreateShader(GLenum type)

type:

GL_VERTEX_SHADER

GL_FRAGMENT_SHADER

// 删除着色器

void glDeleteShader(GLuint shader)

如果一个着色器已经连接到程序对象,那么不会立刻删除,而是先标记,等到没有任何连接时,再释放内存。

// 设置着色器源码

void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)

count 着色器源字符串的数量,着色器可以由多个源字符串组成,但是每个着色器只能有一个main函数

string 指向保存数量为count的着色器源字符串的数组指针

length 指向保存每个着色器字符串大小且元素数量为count的整数数组指针,可以为NULL

// 编译着色器

void glCompileShader(GLuint shader)

// 查询着色器信息

void glGetShaderiv(GLuint shader, GLenum pname, GLint *params)

pname:

GL_COMPILE_STATUS// 编译状态 返回GL_TRUE或GL_FALSE

GL_DELETE_STATUS// 删除状态 返回是否用glDeleteShader标记

GL_INFO_LOG_LENGTH// 日志长度

GL_SHADER_SOURCE_LENGTH// 源码长度

GL_SHADER_TYPE// 着色器类型,返回GL_VERTEX_SHADER或GL_FRAGMENT_SHADER

params 整数指针,用于返回结果

// 获取日志信息

void glGetShaderInfoLog(Gluint shader, Glsizei maxLength, Glsizei *length, Glchar *infoLog)

maxLength:需要获取的信息日志缓冲区长度

length:写入的信息日志长度 如果不知道长度,可以填NULL

infoLog 用于返回信息日志的缓冲区

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:OpenGLES3.0创建和编译着色器相关语法-创新互联
网站URL:http://pwwzsj.com/article/dsdoji.html