자바 OpenGL

자바 OpenGL(Java OpenGL, JOGL)은 OpenGL을자바 프로그래밍 언어에 사용될 수 있도록 하는 래퍼 라이브러리이다. Kenneth Bradley Russell과 Christopher John Kline에 의해 처음 개발되었다가 이후 썬 마이크로시스템즈 게임 테크놀로지 그룹에 의해 추가 개발되었다. 2010년 이후로 BSD 허가서 하의 독립 오픈 소스 프로젝트로 유지되고 있다. Java Bindings for OpenGL(JSR-231)의 참조 구현체이다.

JOGL은 자바 네이티브 인터페이스(JNI)를 사용함으로써 C 언어 프로그램들에서 이용 가능한 대부분의 OpenGL 기능들에 접근할 수 있다.

코드 예제 

    @Override
    public void display(GLAutoDrawable drawable) {

        GL4 gl4 = drawable.getGL().getGL4();

        gl4.glClearBufferfv(GL2ES3.GL_COLOR, 0, clearColor);
        gl4.glClearBufferfv(GL2ES3.GL_DEPTH, 0, clearDepth);

        {
            FloatUtil.makeLookAt(view, 0, eye, 0, at, 0, up, 0, tmp);
            FloatUtil.makePerspective(projection, 0, reset, 45f, aspect, near, far);

            FloatUtil.multMatrix(projection, view); // projection *= view

            transformPointer.asFloatBuffer().put(projection);
        }

        gl4.glUseProgram(programName);
        gl4.glBindVertexArray(vertexArrayName.get(0));
        gl4.glBindBufferBase(GL2ES3.GL_UNIFORM_BUFFER /*target*/, 1 /*TRANSFORM0, index*/, bufferName.get(2) /*TRANSFORM, buffer*/);

        gl4.glBindTextureUnit(0 /*diffuse*/, textureName.get(0));
        gl4.glBindSampler(0 /*diffuse*/, samplerName.get(0));

        gl4.glDrawElements(GL.GL_TRIANGLES, elementCount, GL.GL_UNSIGNED_SHORT, 0);
    }

같이 보기 
 Java Bindings for OpenGL
 Ardor3D
 Elflight Engine
 JMonkey Engine
 Poxnora
 룬스케이프
 Jake2
 Scilab
 Jreality
 ClearVolume
 LWJGL
 자바 OpenAL
 자바 OpenCL

각주

외부 링크 
 
 JOGL 2.3.x Specification
 JSR-231 Java Bindings for OpenGL website
 tool kiet , The OpenGL Programming Guide examples using JOGL
 NeHe's tutorials and sample code
 Setting up a JogAmp JOGL project in your favorite IDE
 Viewer3D, an applet to display interactive 3D content with JOGL
 Eclipse OpenGL Pack OpenGL plugin for the Eclipse IDE

3차원 그래픽 소프트웨어
자바 라이브러리
자바 API
OpenGL