Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OPENGL ES 2.0圆形纹理_Java_Opengl Es - Fatal编程技术网

Java OPENGL ES 2.0圆形纹理

Java OPENGL ES 2.0圆形纹理,java,opengl-es,Java,Opengl Es,尝试将纹理加载到圆中,但我遇到了很大的问题。这是原始纹理: 代码如下: 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;

尝试将纹理加载到圆中,但我遇到了很大的问题。这是原始纹理:

代码如下:

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;               
}
private void circle(){
int段=20;
顶点=新浮动[分段*3+6];
纹理=新浮动[分段*3+6];
浮动角度=(浮动)(2*数学PI/段);
顶点[0]=0;
顶点[1]=0;
纹理[0]=0.5f;
纹理[1]=0.5f;
对于(int i=0;i
我得到的是这样的东西:


我做错了什么?谢谢你

你是从哪里学会这样做的?这里:最好的猜测是你将纹理坐标作为2d数组而不是3d数组。查看将纹理坐标指针推到GL的部分。是的,存在问题。谢谢你,我确实解决不了这个问题。