我可以使用Webgl api从程序(WebGlProgram
)获得顶点着色器吗(仅)?
有一个gl.getAttachedShaders()
给了我它们一个数组。有没有办法确定哪个是哪个?
谢谢
答案 0 :(得分:2)
请参见WebGL Specification; 5.13.9 Programs and Shaders
any getShaderParameter(WebGLShader shader, GLenum pname)
根据已传递的着色器,返回所传递的
pname
的值。返回的类型是请求的pname
的自然类型,如下表所示:SHADER_TYPE unsigned long DELETE_STATUS boolean COMPILE_STATUS boolean
使用gl.getShaderParameter(shader, gl.SHADER_TYPE)
来确定shader
返回的着色器对象gl.getAttachedShaders
是顶点着色器还是片段着色器。可能的返回值为gl.VERTEX_SHADER
和gl.FRAGMENT_SHADER
。