본문 바로가기

개발환경/이클립스

이클립스에 Java3D 개발환경 설정하기

Java로 3D를 개발하기위해서는 먼저 어떤 라이브러리를 사용할 것인가를 결정해야만 한다. 일단 저자가 테스트 해본것들을 나열해 보면 LWJGL(Lightweight Java Game Library) http://www.lwjgl.org/, JOGL(Java OpenGL) https://jogl.dev.java.net/, Java3D https://java3d.dev.java.net/ 등이 있었다. 이러한 사이트를 방문해 보면 각종 튜토리얼 및 데모 버전 또는 소스코드를 확보할 수 있는데 이 소스코드 등을 실행해보려면 여간 까다로운게 아니다.

먼저 가장 쉽게 접근하는 방법은 J2SE JDK를 설치하고 *.jar 는 JAVA_HOME/jre/lib/ext 에 복사하고 *.dll은 JAVA_HOME/jre/bin 에 복사하는 것이다. 여기에서 JAVA_HOME은 JDK를 설치한 경로를 의미하며 '/'는 경로로써 윈도우인 경우 '\'를 의미한다.

각종 Java 용 3D 라이브러리들은 OpenGL을 사용하던 DirectX를 사용하던 아니면 직접 그래픽카드를 제어하던지 간에 해당 OS의 자원을 액세스하기 위한 dll 이나 so 를 제공하고 있으며 이러한 자원은 자바의 클래스패스에 추가하는 것으로 해결되지 않는다.

윈도우에서는 PATH, 리눅스 등에서는 LD_LIB_PATH에 추가해도 동작은 할것인다.

문제는 자바를 Java 3D를 개발할 용도로만 사용할 경우는 처음에 제시한 방법 즉, JDK 설치 디렉토리에 Java 3D 라이브러리들을 복사해줘도 될 것이다.

그러나 Java 3D만 개발하는 게 아니고 또 하나의 라이브러리만 사용하는게 아니라면 해당 프로젝트에만 한정적으로 설정하는게 올바른 해결책일 것이다.

여기에서 강조하고 다루고자하는 것은 해당 프로젝트 내에서 어떻게 Java 3D를 개발하고 테스트 할 것인가이다.

주소 http://www.manning.com/selman/ 는 Java 3D Programming 이라는 책의 예제들인데 이 예제를 실행하는 방법을 설명한다.

1. https://java3d.dev.java.net/binary-builds.html 에서 최신의 라이브러리를 다운로드한다. 저자는 j3d-1_5_2-windows-i586.zip 를 다운받았다.

2. 적당한 곳에 다운받은 압축파일을 해제한다. 해제한 디렉토리에는 j3d-jre.zip 파일이 있으며 이 파일도 해당 디렉토리에 해제한다.

3. http://www.manning-source.com/books/selman/selman_src.zip 에서 소스를 다운받아서 적당한 위치에 압축을 해제한다.

4. 이클립스에 자바프로젝트를 생성한다.

5. 생성한 프로젝트에 예제 소스코드를 복사한다. 많은 에러가 발생할 것이다. 해당 프로젝트에 lib 폴더와 j3d-jre 라는 폴더를 만들고 lib에는 예제소스에 포함된 j3dtree.jar, vrml97.jar를 넣고 j3d-jre에는 j3d-jre.zip을 해제한 것들을 복사한다.
단, Java는 대소문자를 구분하는데 예제소스의 패키지가 대문자로 되어 있다. 소문자로 변경해주는 작업을 해줘야한다.

6. 이제 부터 핵심인데 해당 프로젝트를 선택하고 마우스 오른쪽 버튼 -> Properties -> Java Build Path -> Librries Tab을 선택한다.