Javascript Webgl不渲染我的圆
我正在尝试学习如何使用Webgl,并且已经学习了如何绘制三角形、正方形和直线。我在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部分中的错误,而是设置顶点数组时的错
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,你也可以使用<代码>。顶点。推送(…顶点)