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创建和编译着色器相关语法-创新互联
转载注明:http://myzitong.com/article/dsdoji.html