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