我是WebGL的新手,试图用triangle_fan绘制圆。用三角形绘制圆WebGL
我设置变量
var pi = 3.14159;
var x = 2*pi/100;
var y = 2*pi/100;
var r = 0.05;
points = [ vec2(0.4, 0.8) ]; //establish origin
然后画了使用for循环的圈子。
for(var i = 0.4; i < 100; i++){
points.push(vec2(r*Math.cos(x*i), r*Math.sin(y*i)));
points.push(vec2(r*Math.cos(x*(i+1)), r*Math.sin(y*(i+1))));
}
的问题是,我居然在第二点推当我再次增加我不想做的事。
在WebGL和ES2.0中,您总是必须使用自定义着色器。没有自定义着色器(除了清除),没有办法在这些API中绘制任何东西。最重要的是(a)'gl.POINTS'绘制正方形而不是圆圈,(b)WebGL/ES2.0只需要MAX_POINT_SIZE为1.0,因此不能保证您可以绘制任意大小的点。 – gman
谢谢澄清!编辑答案。通过非自定义着色器,我的意思是由外部库为用户生成的着色器作为材质的一部分。 – mlkn