위와 같은 몇 개의 파일이 존재 하는데, gwtgl-0.3.jar은 gwtgl-0.3-source.jar을 컴파일하여 생성된 class 파일들의 묶음이다.
현재의 버전에서는 deprecated된 몇몇 함수들을 사용하기 때문에 런타임 오류를 일으킨다. 우선 수정하지 않고 그냥 사용해 보도록 하겠다.
Eclipse를 실행 시키고 File > New > Web Application Project를 실행시키고 아래의 대화상자를 연다.
Project name과 Package에 적당한 이름을 입력하고, Use Google App Engine에 체크 해제 한다. (그냥 두어도 무방함)
생성된 기본 샘플 프로젝트에서 아래와 같이 필요 없는 부분을 삭제한다.
war/ 폴더를 열면 아래와 같이 "프로젝트이름.html"파일이 존재할 것이다.
파일을 열고 필요 없는 부분을 지우고 WebGL을 렌더링할 div를 추가한다.
지금 까지 내용을 실행하면 웹 브라우저에는 (당연히) 빈 내용만 출력이 되고, Eclipse의 Console 창에는 아래와 같이 Hello GWT가 출력이 될 것이다.
이제 WebGL에서 OpenGL의 기능 중 가장 단순하다고 생각되는 glClear을 수행해 보도록 하겠다.
우선, gwtGL관련된 두 개의 라이브러리를 현재의 프로젝트에 추가해 주어야 한다.
현재의 프로젝트에서 우클릭하여 Properties > Java Build Path > Libraries 로 이동한다.
add External JARs버튼을 클릭하여, 조금 전에 다운 받아서 압축을 풀었던 gwtGL관련 JAR을 추가해 준다.
추가된 결과는 아래와 같다.
Eclipse의 Package Explorer에서 자신이 방금 작성한 package의 루트로 이동하면, "프로젝트이름.gwt.xml"이 존재하는 것을 확인 할 수 있다.
이 파일을 열고 아래의 엔트리를 추가해 준다.
<inherits name='com.googlecode.gwtgl.binding'/>
이제 gwtGL을 java로 코딩할 준비가 되었다. "프로젝트이름.java"파일을 열고 아래와 같이 작성한다.
문제를 일으킨 ACTIVE_UNIFORM_MAX_LENGTH(다를 수도 있다) 를 찾아 보면
Section 6.19 String Length Queries 부분에 아래와 같은 내용을 확인할 수 있다. In the WebGL API, the enumerants INFO_LOG_LENGTH, SHADER_SOURCE_LENGTH, ACTIVE_UNIFORM_MAX_LENGTH, and ACTIVE_ATTRIB_MAX_LENGTH have been removed.
gwtgl라이브러리에서 문제가 되는 부분을 수정하고 재 컴파일 해 주어야 한다.
다운 받은 gwtgl-0.3-sources.jar파일을 압축 풀고 위 부분에 문제를 일으킨 INFO_LOG_LENGTH SHADER_SOURCE_LENGTH ACTIVE_UNIFORM_MAX_LENGTH ACTIVE_ATTRIB_MAX_LENGTH 를 찾아 삭제하고 재 컴파일 한 후 다시 패키징 한다. 수정된 파일은 아래에서 다운 가능하다.
gwtgl-0.3-Modified.jar