본문 바로가기

Computer/WebGL16

016. WebGL – GWTGL – TextResource를 이용한 GLSL 이전 예제들에서는 GLSL코드를 *.java 파일 내부에 String형식으로 작성하였었다. 이는 java코드와 GLSL코드가 한 곳에 섞여 있으므로, 수정 및 디버깅에 불편함을 초래한다. (아래와 같이...) String vsSource= "attribute vec2 vertPos;" + "void main(){" + " gl_Position= vec4(vertPos, 0.0, 1.0);" + "}"; String fsSource= "void main(){" + " gl_FragColor= vec4(1.0, 1.0, 1.0, 1.0);" + "}"; gl.shaderSource(vs, vsSource); gl.shaderSource(fs, fsSource); 보통 CPU코드(java코드)와 GPU코드(G.. 2011. 6. 13.
015. WebGL – GWTGL – Simple Animation Javascript를 사용한 WebGL에서 Animation 구현을 위해 javascript의 setInterval이라는 함수를 사용하였다.[예제] 그와 비슷하게, GWTGL에서는 com.google.gwt.user.cllient.Timer라는 클래스를 사용하였다. Multi-Thread환경을 GWT에서 지원하지 않는다고 하니, Timer와 같은 스케줄러를 사용해야 할 것이다. 간단하게 에니메이션은, 연속적으로 변화하는 매 프레임을 갱신하는 것이라고 해 두면, 아래와 같은 방법으로 간단한 에니메이션을 테스트해 볼 수 있다. 코드 85라인에서, com.google.gwt.user.client.Timer 클래스의 인스턴스를 생성하고, 104라인에서 Timer::scheduleRepeating(50); 함수를.. 2011. 6. 10.
014. WebGL – GWTGL – White Triangle 앞서 OpenGL의 가장 기본적인 예제인 glClear을 GWTGL을 이용하여 구현한 예제를 살펴보았다. 이번에는 glClear을 수행한 예제를 바탕으로 흰색 삼각형을 렌더링하는 예제를 작성해 보겠다. OpenGL ES 2.0은 고정 기능 파이프라인을 지원하지 않으므로, 화면에 무엇인가를 렌더링하기 위해서는 프로그래머가 OpenGL 여러 파이프라인 단계 중 특정 부분을 직접 작성해 주어야 한다. (위 그림의 주황색으로 표시된, VertexShader & FragmentShader가 사용자가 직접 작성해야 하는 부분이다.) VertexShader & FragmentShader를 작성할 때 사용하는 프로그래밍 언어를 Shading Language라고 부른다. OpenGL ES 2.0 Shading Langu.. 2011. 6. 9.
013. WebGL - GWTGL - GWTGL 기본 GWTGL을 Eclipse에서 사용하기 위해서는 아래의 환경이 반드시 준비되어 있어야 한다. JDK Eclipse Google Plugin for Eclipse Google Web Toolkit 위의 환경이 갖추어져 있으면 지금부터 http://code.google.com/p/gwtgl/에서 최신 라이브러리를 다운 받으면 된다. 현재의 최신 버전은 GwtGL Releaes 0.3이다. 다운 받고 압축을 푼다. 위와 같은 몇 개의 파일이 존재 하는데, gwtgl-0.3.jar은 gwtgl-0.3-source.jar을 컴파일하여 생성된 class 파일들의 묶음이다. 현재의 버전에서는 deprecated된 몇몇 함수들을 사용하기 때문에 런타임 오류를 일으킨다. 우선 수정하지 않고 그냥 사용해 보도록 하겠다. .. 2011. 5. 25.