0

试图将纹理加载到一个圆圈中,但我遇到了很大的麻烦。这是原始纹理:

原始纹理

这是代码:

private void circle(){
    int segments = 20;
    vertices = new float[segments * 3+6];
    texture = new float[segments * 3+6];
    float angle = (float)(2*Math.PI/segments);
    vertices[0]=0;
    vertices[1]=0;
    texture[0]=0.5f;
    texture[1]=0.5f;
    for(int i = 0; i < segments; i++){

        vertices[3+(i*3)]=(float)Math.sin(angle * i)*0.7f;
        vertices[3+(i*3+1)]=(float)Math.cos(angle*i)*0.7f;

        texture[3+(i*3)]=(float)Math.sin(angle * i)*0.5f+0.5f;
        texture[3+(i*3+1)]=(float)Math.cos(angle * i)*0.5f+0.5f;

    }
    vertices[3*segments+3]=0;
    vertices[3*segments+4]=0.7f;               
}

我得到这样的东西: 我的结果

我究竟做错了什么?谢谢

4

0 回答 0