JOGL Проблемы с текстурой - PullRequest
       35

JOGL Проблемы с текстурой

2 голосов
/ 03 октября 2011

Я пытаюсь выучить привязки JOGL. Уроки, похоже, устарели, поэтому я всегда стараюсь собрать воедино то, что действительно из каждого.

У меня возникают проблемы при попытке применить простую текстуру к квадратной плоскости.

У меня есть изображение размером 204 X 204, называемое box.png.

В моем init () я делаю следующее, чтобы загрузить текстуру:

        try {
            InputStream stream = getClass().getResourceAsStream("box.png");
            TextureData data = TextureIO.newTextureData(gl.getGLProfile(),
                stream, 100, 200, false, "png");
            boxTexture = TextureIO.newTexture(data);
        } catch (IOException exc) {
            exc.printStackTrace();
            System.exit(1);
        }

Затем я пытаюсь применить мою текстуру, выполнив следующие действия на моем дисплее ():

        gl.glEnable(GL.GL_TEXTURE_2D);

        boxTexture.enable(gl);
        boxTexture.bind(gl);

        gl.glBegin(GL2.GL_QUADS);
        // Front Face
        gl.glTexCoord2f(0.0f, 0.0f);
        gl.glVertex3f(-1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad
        gl.glTexCoord2f(1.0f, 0.0f);
        gl.glVertex3f(1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad
        gl.glTexCoord2f(1.0f, 1.0f);
        gl.glVertex3f(1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad
        gl.glTexCoord2f(0.0f, 1.0f);
        gl.glVertex3f(-1.0f, 1.0f, 1.0f);

        gl.glEnd();

Есть ли какие-то проблемы, которые могли бы объяснить, почему я терплю неудачу?

1 Ответ

2 голосов
/ 04 октября 2011

Единственное, о чем я могу думать, это то, что текстура не имеет степени 2. Измените размер текстуры на 256x256 и посмотрите, работает ли он тогда. В зависимости от вашей видеокарты, она будет или не будет поддерживаться (это должно быть, если карта не древняя).

...