球中的initVertex

来源:互联网 发布:linux终端粘贴快捷键 编辑:程序博客网 时间:2024/05/14 07:11
private void initVertex(float r) {// TODO Auto-generated method stubR=r;ArrayList<Float>alVertix=new ArrayList<Float>();for(float vAngle=90;vAngle>-90;vAngle-=angleSpan){for(float hAngle=360;hAngle>0;hAngle-=angleSpan){float x1=getCoor(0, vAngle, hAngle);float y1=getCoor(1, vAngle, hAngle);float z1=getCoor(2, vAngle, hAngle);float x2=getCoor(0, vAngle-angleSpan, hAngle);float y2=getCoor(1, vAngle-angleSpan, hAngle);float z2=getCoor(2, vAngle-angleSpan, hAngle);float x3=getCoor(0, vAngle-angleSpan, hAngle-angleSpan);float y3=getCoor(1, vAngle-angleSpan, hAngle-angleSpan);float z3=getCoor(2, vAngle-angleSpan, hAngle-angleSpan);float x4=getCoor(0, vAngle, hAngle-angleSpan);float y4=getCoor(1, vAngle, hAngle-angleSpan);float z4=getCoor(2, vAngle, hAngle-angleSpan);alVertix.add(x1);alVertix.add(y1);alVertix.add(z1);        alVertix.add(x2);alVertix.add(y2);alVertix.add(z2);        alVertix.add(x4);alVertix.add(y4);alVertix.add(z4);                //构建第二三角形        alVertix.add(x4);alVertix.add(y4);alVertix.add(z4);        alVertix.add(x2);alVertix.add(y2);alVertix.add(z2);        alVertix.add(x3);alVertix.add(y3);alVertix.add(z3); }} vCount=alVertix.size()/3;        float vertices[]=new float[vCount*3];    for(int i=0;i<alVertix.size();i++){    vertices[i]=alVertix.get(i);    }        ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4);        vbb.order(ByteOrder.nativeOrder());        mVertexBuffer = vbb.asFloatBuffer();        mVertexBuffer.put(vertices);        mVertexBuffer.position(0);}

0 0
原创粉丝点击