Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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/JOGL:为什么有些纹理渲染;平滑的;还有一些没有?_Java_Opengl_Memory Leaks_Render_Textures - Fatal编程技术网

Java openGL/JOGL:为什么有些纹理渲染;平滑的;还有一些没有?

Java openGL/JOGL:为什么有些纹理渲染;平滑的;还有一些没有?,java,opengl,memory-leaks,render,textures,Java,Opengl,Memory Leaks,Render,Textures,以下代码是在我的JOGL practice应用程序中渲染单个立方体的方法: public void render(GL gl) { texture.enable(); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST); texture.bind(); // textures clock

以下代码是在我的JOGL practice应用程序中渲染单个立方体的方法:

        public void render(GL gl)
        {
            texture.enable();

            gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST);

            texture.bind(); // textures clockwise from top left when
            // facing

            gl.glBegin(GL.GL_QUADS);

            // north facing side
            if (renderSide[0])
                {
                    gl.glNormal3i(0, 1, 0);
                    gl.glTexCoord2f(0.0f, 0.0f);
                    gl.glVertex3fv(v2, 0);
                    gl.glTexCoord2f(1.0f, 0.0f);
                    gl.glVertex3fv(v1, 0);
                    gl.glTexCoord2f(1.0f, 1.0f);
                    gl.glVertex3fv(v5, 0);
                    gl.glTexCoord2f(0.0f, 1.0f);
                    gl.glVertex3fv(v6, 0);
                }
            // east facing side
            if (renderSide[1])
                {
                    gl.glNormal3i(1, 0, 0);
                    gl.glTexCoord2f(0.0f, 0.0f);
                    gl.glVertex3fv(v3, 0);
                    gl.glTexCoord2f(1.0f, 0.0f);
                    gl.glVertex3fv(v2, 0);
                    gl.glTexCoord2f(1.0f, 1.0f);
                    gl.glVertex3fv(v6, 0);
                    gl.glTexCoord2f(0.0f, 1.0f);
                    gl.glVertex3fv(v7, 0);
                }
            // south facing side
            if (renderSide[2])
                {
                    gl.glNormal3i(0, -1, 0);
                    gl.glTexCoord2f(0.0f, 0.0f);
                    gl.glVertex3fv(v4, 0);
                    gl.glTexCoord2f(1.0f, 0.0f);
                    gl.glVertex3fv(v3, 0);
                    gl.glTexCoord2f(1.0f, 1.0f);
                    gl.glVertex3fv(v7, 0);
                    gl.glTexCoord2f(0.0f, 1.0f);
                    gl.glVertex3fv(v8, 0);
                }
            // west facing side
            if (renderSide[3])
                {
                    gl.glNormal3i(-1, 0, 0);
                    gl.glTexCoord2f(0.0f, 0.0f);
                    gl.glVertex3fv(v1, 0);
                    gl.glTexCoord2f(1.0f, 0.0f);
                    gl.glVertex3fv(v4, 0);
                    gl.glTexCoord2f(1.0f, 1.0f);
                    gl.glVertex3fv(v8, 0);
                    gl.glTexCoord2f(0.0f, 1.0f);
                    gl.glVertex3fv(v5, 0);
                }
            // top side
            if (renderSide[4])
                {
                    gl.glNormal3i(0, 0, 1);
                    gl.glTexCoord2f(0.0f, 0.0f);
                    gl.glVertex3fv(v1, 0);
                    gl.glTexCoord2f(1.0f, 0.0f);
                    gl.glVertex3fv(v2, 0);
                    gl.glTexCoord2f(1.0f, 1.0f);
                    gl.glVertex3fv(v3, 0);
                    gl.glTexCoord2f(0.0f, 1.0f);
                    gl.glVertex3fv(v4, 0);
                }

            gl.glEnd();
            texture.disable();
此代码针对每个立方体调用,每个立方体的初始化方式相同,但某些立方体的纹理处理方式不同且“模糊”,而其他立方体则不同

这是一张图片:

对于每个块,每个帧都会调用此渲染方法,那么对于单个块,问题清单本身是如何永久存在的呢


另外一个附带问题是,我的应用程序存在大量内存泄漏,我无法追踪,问题是否在这里?除了设置相机和光源,这是大部分OpenGL代码

GL\u纹理贴图过滤器是每个纹理对象状态。绑定纹理对象,然后设置它。

击中头部的钉子!多谢各位