javascript - 如何使用 WEBGL 在 p5.js 中画一条线

标签 javascript p5.js

在 p5.js 中可以进行 3D 画线吗?

教程在这里: https://github.com/processing/p5.js/wiki/Getting-started-with-WebGL-in-p5 说它应该,但我的尝试只是给出了一个空白页。

function setup() {
  createCanvas(400,400, WEBGL);
}

function draw(){
  line(-100,-100,-100, 100,100,100);
}

正如下面凯文所指出的,控制台给出了一个错误:

TypeError: this._renderer.line is not a function

当我尝试使用 line();

我的浏览器确实支持WEBGL,如果我将draw()写成

function draw(){
  box();
}

确实绘制了一个盒子。

我目前发现画线的唯一方法是编写自己的函数

function drawLine(x1, y1, z1, x2,y2, z2){
  beginShape();
  vertex(x1,y1,z1);
  vertex(x2,y2,z2);  
  endShape();
}

它确实在 3D 空间中画了一条线,但控制台生成了许多以下形式的错误

Error: WebGL: vertexAttribPointer: -1 is not a valid index. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.

这样做,那么那里也一定出了问题。

最佳答案

Googling your error返回大量结果,包括 this GitHub issue .

看来这是一个已知问题。 line() 函数应该可以工作,但尚未正确实现。

谷歌搜索第二个错误返回 this GitHub issue ,其中提到这可能是由于在绘制之前没有设置 fill() 颜色引起的。

关于javascript - 如何使用 WEBGL 在 p5.js 中画一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245579/

相关文章:

javascript - 如何在p5.js的绘制循环中使用随机和循环?

javascript - AngularJS ng-repeat 处理空列表情况

javascript - header 中的 json 语法错误

javascript - 防止未定义的数组条目

javascript - AngularJS:如何优化嵌套指令

javascript - 使用下划线从 JSON obj 收集数据以创建位置数组

javascript - 柏林噪音不起作用 (p5js)

javascript - 有没有办法通过用户输入连续移动 P5 中的对象?

javascript - 如何让我的按钮改变一个变量?

javascript - 使用javascript检测音频输入的bpm?