我是否必须为每个 webgl 程序创建单独的缓冲区
Do I have to create separate buffers per webgl program?
如果我有两个程序,我是否必须创建单独的webglbuffers,或者我可以在每个程序中使用相同的程序吗?
this.program = gl.createProgram();
gl.attachShader(this.program, vs);
gl.attachShader(this.program, fs);
gl.linkProgram(this.program);
//gl.useProgram(this.program);
this.cellProgram = gl.createProgram();
gl.attachShader(this.cellProgram, cvs);
gl.attachShader(this.cellProgram, cfs);
gl.linkProgram(this.cellProgram);
//gl.useProgram(this.cellProgram);
this.texCoordBuffer = gl.createBuffer();
this.posCoordBuffer = gl.createBuffer();
我还需要为每个程序绑定缓冲区和设置缓冲区数据吗?还是数据/缓冲区在程序之间共享?
gl.useProgram(program);
// look up where the vertex data needs to go.
var positionLocation = gl.getAttribLocation(program, "a_position");
var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
// provide texture coordinates for the rectangle.
//this will be what the texture gets displayed on?
gl.bindBuffer(gl.ARRAY_BUFFER, this.texCoordBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
0.0, 0.0,
1.0, 0.0,
0.0, 1.0,
0.0, 1.0,
1.0, 0.0,
1.0, 1.0]), gl.STATIC_DRAW);
gl.enableVertexAttribArray(texCoordLocation);
gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);
否,缓冲区、程序、属性、渲染缓冲区、帧缓冲区、纹理和纹理单元独立于程序
制服是特定于程序的
相关文章:
- 如何创建带有插槽的vue js组件预加载程序
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- Javascript库创建类似heroku仪表板的应用程序
- 我需要学习Java才能使用phoneGap创建android应用程序吗
- 要求创建空模块作为依赖项加载程序
- 创建nw.js+流星桌面应用程序
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 如何创建可从多个应用程序使用的PHP登录web服务
- Ember.js+传单+rails(使用Javascript MVC创建rails应用程序并打开源代码映射)
- RequireJS正在加载angular应用程序,但没有't创建app.controller
- 在动态创建的元素中包含参数的事件处理程序
- 在 Chrome 扩展程序中创建自定义事件的最惯用方式
- 如何使用引导程序创建自定义滚动条
- 如何使用引导程序创建模式窗口
- 在Chrome扩展程序图标中创建一个切换开关,以打开/关闭JavaScript
- 我想在混合移动应用程序中使用Sqlite插件(Cordova)创建一个示例项目
- 创建程序以显示当前日期和时间
- 如何为形成框的星号创建程序
- 在用javascript和html创建程序时遇到问题