Pesquisar

segunda-feira, 11 de maio de 2009

Tutorial JOGL - Configuração do ambiente

Primeira Parte - Configurando Jogl no Netbeans

O primeiro passo é ir ao site do jogl e baixar a versão correspondente ao seu sistema operacional. No meu exemplo estou usando o Windows portando baixei desse link http://download.java.net/media/jogl/builds/archive/jsr-231-1.1.1/jogl-1.1.1-windows-i586.zip . Dentro do arquivo comprimido haverá uma pasta lib vário arquivos:
  • gluegen-rt.dll
  • gluegen-rt.jar
  • jogl.dll
  • jogl.jar
  • jogl_awt.dll
  • jogl_cg.dll
Note que se você estiver usando linux ao invés de *.dll terá os arquivos *.so.

Como em qualquer outro desenvolvimento uma IDE poderá te ajudar e muito, escolha a sua preferida. Estou usando o NetBeans 6.5. (Que não necessariamente é minha IDE preferida ;) )

Conceitos sobre Jogl

Quando você está criando uma aplicação que irá lançar mão de recursos providos pelo OpenGL há básicamente três componentes que poderão facilitar e muito sua vida. São eles:

GLCanvas (ou GLPanel) - Um componente (que extend de Component do AWT).
GLEventListener - O modelo de listener para os eventos comuns do opengl.
FPSAnimator - Uma classe que irá lhe ajudar a efetivamente fazer seus desenhos (ou jogos) animarem.

Criando um projeto...

Crie um projeto e adicione à ele as bibliotecas (gluegen-rt.jar e jogl.jar), copie também para pasta raiz do projeto todas as *.dll que estavam na pasta lib (do arquivo baixado anteriormente).

Para simplicar bastante as coisas (assim deixando de mais fácil entendimento para todos) iremos criar um JFrame e mostraremos nesse JFrame nossa animação.

O código pode ser visto abaixo:
import javax.swing.JFrame;
public class FrameJogl extends JFrame {

public static void main(String[] args) {
new FrameJogl().setVisible(true);
}

public FrameJogl() {
super("OpenGl 2D - Java 2D com opengl Jogl");
setSize(514, 258);
}
}
Simples ao extremo. Apenas cria um JFrame atribuindo o tamanho de 514 pixels de comprimento por 258 pixels de altura.

O próximo passo é escrever o componente que irá mostrar a tela opengl dentro desse JFrame. Para tal tarefa apenas escrevemos:
GLCanvas canvas = new GLCanvas();
add(canvas);

Isso, claro, no construtor abaixo de setSize. Agora se executarmos a aplicação teremos algo semelhando a isso abaixo.
















Sua máquina irá mostrar algo diferente, como não definimos nada o "opengl" mostra dados randômicos da sua memoria RAM. O importante neste ponto é a simplicidade do código, com pouco código já se pode ver algo produzido pelo Jogl.

O meu código final para o JFrame ficou assim:
import javax.media.opengl.GLCanvas;
import javax.swing.JFrame;

public class FrameJogl extends JFrame {

public static void main(String[] args) {
new FrameJogl().setVisible(true);
}

public FrameJogl() {
super("OpenGl 2D - Java 2D com opengl Jogl");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(514, 258);
GLCanvas canvas = new GLCanvas();
add(canvas);
}
}
Note que também adicionei um comportamente padrão para quando o usuário clicar no botão X da Janela.

Links:
  1. http://archsofty.blogspot.com/2009/05/jogl-java-bindings-for-opengl-api-with.html
  2. http://archsofty.blogspot.com/2009/05/tutorial-jogl-configuracao-do-ambiente.html
  3. http://archsofty.blogspot.com/2009/05/tutorial-jogl-desenhando-em-java-com.html

Nenhum comentário: