提交 6f9d8407 编写于 作者: M Mr.doob

CircleGeometry fixed properly now.

上级 bc0c3e34
......@@ -20,17 +20,21 @@ THREE.CircleGeometry = function ( radius, segments, thetaStart, thetaLength ) {
//
var indices = new Uint16Array( ( segments + 1 ) * 3 );
var vertices = new Float32Array( ( segments + 2 ) * 3 );
var normals = new Float32Array( ( segments + 2 ) * 3 );
var uvs = new Float32Array( ( segments + 2 ) * 2 );
var elements = segments + 2;
var indices = new Uint16Array( segments * 3 );
var vertices = new Float32Array( elements * 3 );
var normals = new Float32Array( elements * 3 );
var uvs = new Float32Array( elements * 2 );
// center
normals[ 2 ] = 1;
uvs[ 0 ] = 0.5;
uvs[ 1 ] = 0.5;
var offset = 3, offset2 = 2;
var offset = 0, offset2 = 2, offset3 = 3;
for ( var i = 0; i <= segments; i ++ ) {
......@@ -39,20 +43,24 @@ THREE.CircleGeometry = function ( radius, segments, thetaStart, thetaLength ) {
var x = radius * Math.cos( segment );
var y = radius * Math.sin( segment );
vertices[ offset ] = x;
vertices[ offset + 1 ] = y;
vertices[ offset3 ] = x;
vertices[ offset3 + 1 ] = y;
normals[ offset + 2 ] = 1;
normals[ offset3 + 2 ] = 1;
uvs[ offset2 ] = ( x / radius + 1 ) / 2;
uvs[ offset2 + 1 ] = ( y / radius + 1 ) / 2;
indices[ offset ] = i + 1;
indices[ offset + 1 ] = i + 2;
indices[ offset + 2 ] = 0;
offset2 += 2;
offset3 += 3;
//
indices[ offset ] = 0;
indices[ offset + 1 ] = i + 1;
indices[ offset + 2 ] = i + 2;
offset += 3;
offset2 += 2;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册