webgl - 如何从程序中获取顶点着色器
问题描述
我可以使用 Webgl api 从程序 ( WebGlProgram
) 中(仅)获取顶点着色器吗?有一个gl.getAttachedShaders()
给我一个数组。有没有办法确定哪个是哪个?
谢谢
解决方案
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
。
推荐阅读
- python - 在 Pattern python 库中调用 nragms 方法时出现 UnboundLocalError
- mongodb - 克隆解析服务器共享数据
- reactjs - React Navigation 中的选项卡导航器图标
- android - 谷歌播放服务插件版本冲突
- android - 在 switch 语句中将字符串从硬编码更改为 Android Studio 中的字符串资源
- java - 什么是在不剪辑的情况下将音频样本添加到其中的正确方法
- r - 破解在 Have::read_sav() 的文件路径中包含特殊字符
- javascript - 如何在 Firebase Firestore 中创建与用户相关的数据
- android - adb logcat 二进制模式忽略过滤器规范?
- php - PHP:在深度数组中查找元素,然后修改每个父元素