“没有VBO绑定到启用的顶点属性索引0”试图在WebGL中绘制一个简单的纹理
"no VBO bound to enabled vertex attrib index 0" trying to draw a simple texture in WebGL
我刚刚开始尝试学习一些基本的WebGL编码,到目前为止它一直很好,直到我尝试渲染一个简单的2D纹理......
这是我第一次真正做任何与计算机图形学有关的事情,尤其是WebGL/OpenGL。因此,如果我的代码中有任何公然愚蠢的内容,我真诚地为此道歉,请保持温柔。
所以我要做的是绘制一个简单的纹理,我从html img元素中获取。对于如何正确告诉着色器我希望它们在视点上渲染我的纹理的位置,我有点迷茫。我尝试了几种不同的方法,并在谷歌上搜索了类似的问题,但没有结果。不同的缓冲区应该如何同时将数据传输到着色器的概念对我来说有点难以理解。
当仅使用 gl.drawArrays(gl.积分...一切正常。但是当我尝试使用 gl.drawElements 实现三角形的绘制时,一切都会下地狱。
我的代码(根据评论中的建议更新)可以在 http://pastebin.com/T0iBfbcA 找到
那么我在这里做错了什么?
好的
,所以我发现了问题。首先,我没有像棘轮怪胎所说的那样为纹理坐标添加指针(谢谢!
然而,在那之后,屏幕仍然是黑色的,没有任何效果。事实证明,问题源于图像数据。它没有触发任何错误或异常,只是不起作用。但是我没有从 img 元素获取数据,而是首先在画布上绘制它,然后使用画布作为纹理的输入。这奏效了,现在一切都很好,很花花公子。
我也更新了 pastebin 以删除我实际可以看到纹理时出现的一些小问题。
相关文章:
- 在WebGL中绘制多个二维图像
- WebGL绘制图像
- 使用WebGL绘制2d Uint8ClampedArray RGBA数据
- 如何在WebGL、HTML5或CSS3中为树算法绘制线条
- 在 WebGL 中的曲面上绘制曲线
- 事件处理程序中的 webGL 绘制似乎清除了画布
- 使用 GL.points 在 WebGL 中绘制单个像素
- Webgl 用两个不同的 vbo 绘制两个不同的几何形状
- Webgl 动画纹理性能与画布绘制图像性能
- “没有VBO绑定到启用的顶点属性索引0”试图在WebGL中绘制一个简单的纹理
- webgl如何绘制许多立方体
- WebGL未在规范化坐标内绘制
- WebGL绘制矩形&图像到一个着色器
- 绘制一个带有webgl子缓冲区的缓冲区
- 如何在Javascript中绘制3d blezier曲线?(three.js, webGL)
- 使用WebGL绘制不同颜色的线条
- 动态WebGL绘制游戏循环
- 适合与D3js结合的库,允许绘制webgl (2D)
- 使用Javascript, WebGL和HTML绘制正方形
- WebGL通过索引绘制