Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webgl不渲染我的圆_Javascript_Html_Webgl - Fatal编程技术网

Javascript Webgl不渲染我的圆

Javascript Webgl不渲染我的圆,javascript,html,webgl,Javascript,Html,Webgl,我正在尝试学习如何使用Webgl,并且已经学习了如何绘制三角形、正方形和直线。我在webgl中创建圆圈时遇到问题 var InitDemo=function(){ var canvas=document.getElementById('circle-surface'); var gl=canvas.getContext('webgl'); //定义几何 var顶点=[]; 变量原点=[0,0]; 顶点。推(原点); 对于(var i=0;i您的错误不是OGL部分中的错误,而是设置顶点数组时的错

我正在尝试学习如何使用Webgl,并且已经学习了如何绘制三角形、正方形和直线。我在webgl中创建圆圈时遇到问题

var InitDemo=function(){
var canvas=document.getElementById('circle-surface');
var gl=canvas.getContext('webgl');
//定义几何
var顶点=[];
变量原点=[0,0];
顶点。推(原点);

对于(var i=0;i您的错误不是OGL部分中的错误,而是设置顶点数组时的错误。您为顶点缓冲区生成了二维数组,而不是线性一维数组

必须使用
顶点。推(原点[0],原点[1]);
而不是
顶点。推(原点);
(与
顶点相同)

您的代码应该是这样的:

var vertices = [];
var origin = [0,0];
vertices.push( origin[0], origin[1] );     <-------------------------
for(var i = 0; i <= 360; i+=1){
    var j = i*Math.PI/180;
    var vert = [Math.sin(j),Math.cos(j)];
    vertices.push( vert[0], vert[1] );     <-------------------------
}
var顶点=[];
变量原点=[0,0];

顶点推送(原点[0],原点[1])我不太熟悉<代码> WebGL本身,但是我已经做了一些基于OpenGL的编程。乍一看,有几件东西看起来不见了,但是我将集中在第一个:指定圆的半径在哪里?如果它是零,或者足够接近,你将没有太多的东西要看。如果你是新的WebGL,你也可以使用<代码>。顶点。推送(…顶点)