OpenGL API - glAttachShader


在这里插入图片描述

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glAttachShader.xhtml

OpenGL API - 笔记汇总

名称

glAttachShader ---- 附加一个 shader 对象到程序对象。

原型

void glAttachShader(GLuint program,
 					GLuint shader);

参数

program
指定用于接受附加着色器的程序对象。
shader
指定需要被附加到程序对象的 shader 对象。

描述

为了创建完整的 shader 程序,必须要有一个方法来讲这些东西链接在一起。程序对象提供了这个机制。被链接在一起的 shader 首先需要附加到程序对象。glAttachShader 可将指定的 shader 的shader 对象附加到指定的 program 的程序对象上。这表示 shader 将会被链接操作后包含在程序中,并在次程序中执行。

在一个有效附加到一个程序对象的shader对象,它的所有的操作都可以被执行。一个 shader 对象在它设置源码前,或是在它被编译前都允许附加到程序对象中。也允许附加多个相同类型的 shader 对象,因为每个可能包含完整的 shader 的一部分。也允许附加一个 shader 对象到多个程序对象中。如果一个 shader 对象在附加时被删除,则删除标记将被设置,并且删除不会发生,直到调用了 glDetachShader 来解除附加所有的已附加过这个 shader 对象。

错误

如果 program 或是 shader 参数不是 OpenGL 生成的,那么生成 GL_INVALID_VALUE 错误。

如果 program 参数不是一个程序对象,那么生成 GL_INVALID_OPERATION 错误。

如果 shader 参数不是一个 shader 对象,那么生成 GL_INVALID_OPERATION 错误。

如果 shader 参数早已被加到 program 对象,那么生成 GL_INVALID_OPERATION 错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值