JOGL-개요

이 장에서는 OpenGL, 그 기능, Java의 OpenGL 바인딩 (GL4java, LWJGL, JOGL) 및 다른 OpenGL 바인딩에 비해 JOGL의 장점을 소개합니다.

Java 바인딩 OGL(JOGL)은 Java의 OpenGL 그래픽 API에 대한 최신 바인딩입니다. OpenGL API에 액세스 할 수있는 래퍼 라이브러리이며 Java로 코딩 된 2D 및 3D 그래픽 응용 프로그램을 생성하도록 설계되었습니다. JOGL은 MIT 대학원생 인 Ken Russell과 Chris Kline이 처음 개발 한 오픈 소스 라이브러리입니다. 나중에 Sun Microsystems의 게임 그룹에서 채택했으며 현재 JOGAMP (Java on Graphics Audio and Processing)에서 유지 관리합니다. JOGL은 Windows, Solaris, Mac OS X 및 Linux (x86)와 같은 다양한 운영 체제에서 작동합니다.

OpenGL이란 무엇입니까?

OpenGL은 2D 및 3D 그래픽을 만드는 명령 모음 인 Open Graphics Library의 약자입니다. OpenGL을 사용하면 점, 선, 다각형, 비트 맵 및 이미지와 같은 매우 기본적인 기본 요소를 사용하여 복잡한 3D 모양을 만들 수 있습니다.

다음은 OpenGL의 몇 가지 기능입니다.

  • 여러 플랫폼에서 작동 할 수 있습니다.

  • C ++, Python 등과 같은 여러 언어로 된 바인딩이 있습니다.

  • 2D 및 3D 벡터 그래픽을 렌더링 할 수 있습니다.

  • 그래픽 처리 장치 (GPU)와 상호 작용하여 빠르고 고품질의 렌더링을 달성합니다. 렌더링은 2D 또는 3D 모델에서 이미지를 만드는 과정입니다.

  • 3D 그래픽 애플리케이션을 작성하기위한 산업 표준 API입니다. 예를 들어 게임, 화면 보호기 등

  • 여기에는 프로그래머가 응용 프로그램을 개발하기 위해 개체와 작업을 지정하는 데 사용할 수있는 약 150 개의 명령이 포함되어 있습니다.

  • 여기에는 쿼드 릭 표면 및 NURBS 곡선과 같은 다양한 모델링 기능을 제공하는 OpenGL 유틸리티 라이브러리 (GLU)가 포함되어 있습니다. GLU는 OpenGL의 표준 구성 요소입니다.

  • OpenGL의 설계는 효율성, 효율성 및 여러 언어를 사용하는 여러 플랫폼에서의 구현에 중점을 둡니다. OpenGL API의 단순성을 유지하기 위해 창 작업은 포함되지 않습니다.

따라서 OpenGL은 창 작업을 위해 다른 프로그래밍 언어에 의존합니다.

OpenGL API 용 Java 바인딩

Java 플랫폼에서 OpenGL을 사용할 수있는 JSR (Java Specification Request) API 사양입니다.

명세서 세부
JSR 231 이 Java 바인딩 패키지는 Java SE 플랫폼을 지원합니다.
JSR 239 이 Java 바인딩 패키지는 Java ME 플랫폼을 지원합니다.

Java에는 다양한 OpenGL 바인딩이 있습니다. 아래에서 설명합니다.

GL4java

Java 기술 용 OpenGL이라고합니다. OpenGL 1.3 및 거의 모든 공급 업체 확장에 대한 링크가 있습니다. 또한 AWT (Abstract Window Toolkit) 및 Swings와 함께 사용할 수 있습니다. 전체 화면 응용 프로그램을 표시하는 단일 창인 게임 중심의 OpenGL 바인딩입니다.

LWJGL

  • LWJGL (Light Weight Java Game Library)은 OpenGL 1.5를 사용하며 최신 버전의 java에서 작동합니다.

  • JSE 1.4의 전체 화면 기능을 사용할 수 있습니다. AWT / Swing을 제한적으로 지원합니다.

  • 휴대폰, 임베디드 장치 등과 같은 경량 장치에 적합합니다.

조글

  • JOGL은 2D 및 3D 렌더링에만 중점을 둡니다. 사운드 및 입출력을 다루는 인터페이스는 JOGL에 포함되지 않습니다.

  • 여기에는 GLU (Graphics Utility Library), GLUT (GL Utility Toolkit) 및 자체 API 인 NEWT (Native Windowing Toolkit)가 포함됩니다.

왜 JOGL인가?

  • OpenGL API (버전 1.0, 4.3, ES 1, ES 2 및 ES 3)와 거의 모든 공급 업체 확장에 대한 전체 액세스를 제공합니다. 따라서 OpenGL의 모든 기능은 JOGL에 포함되어 있습니다.

  • JOGL은 AWT, Swing 및 SWT (Standard Widget Toolkit)와 통합됩니다. 또한 고유 한 NEWT (Native Windowing Toolkit)를 포함합니다. 따라서 윈도우 화를 완벽하게 지원합니다.

JOGL의 역사

  • 1992-Silicon Graphics Inc.는 최초의 OpenGL 사양을 발표했습니다.

  • 2003-Java.net 웹 사이트가 새로운 기능과 함께 출시되었으며 JOGL이 동일한 웹 사이트에 처음으로 게시되었습니다.

  • 2010-2010 년부터 컴퓨터 소프트웨어에 대한 자유 라이선스 인 BSD 라이선스에 따라 독립적 인 오픈 소스 프로젝트였습니다.