자바 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