Java bindings for opengl jogl an overview
Download
1 / 20

Java Bindings for OpenGL JOGL An Overview - PowerPoint PPT Presentation


  • 94 Views
  • Uploaded on

Java Bindings for OpenGL JOGL An Overview. Prof. Reginaldo do Prado Universidade Guarulhos - UnG. Objetivo. Configurar o ambiente de execução para o uso do JOGL Criar imagens bi e tridimensionais utilizando OpenGL Criar animações. 0. Configurar. Windows

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Java Bindings for OpenGL JOGL An Overview' - fayre


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Java bindings for opengl jogl an overview

Java Bindings for OpenGLJOGLAn Overview

Prof. Reginaldo do Prado

Universidade Guarulhos - UnG


Objetivo
Objetivo

  • Configurar o ambiente de execução para o uso do JOGL

  • Criar imagens bi e tridimensionais utilizando OpenGL

  • Criar animações



Java bindings for opengl jogl an overview

  • Windows

    • Incluir no CLASSPATH o caminho para jogl.jar e gluegen-rt.jar

    • Incluir no PATH o caminho para JOGL_HOME/lib

  • Eclipse

    • Deve ser feita a inclusão dos arquivos acima para cada projeto

    • Siga as instruções de: http://linus.uac.pt/~cogumbreiro/gfx/



O que opengl
O que é OpenGL...

  • API para programação gráfica

  • Biblioteca de rotinas gráficas e de modelagem

  • Interface para hardware gráfico

  • Produz imagens de alta qualidade, mas...


Opengl n o
OpenGL não é...

  • Uma linguagem de programação

  • Um programa para arte computacional

  • Um ray-tracer

    • Se quer fazer arte, visite http://www.povray.org/


E como funciona
E como funciona?

pipeline OpenGL


O que jogl
O que é JOGL...

  • Pacote que permite o acesso de Java às rotinas do OpenGL

  • Exceção às chamadas relacionadas às janelas

  • Mantém a portabilidade do OpenGL

  • Inconsistente com a POO pela natureza procedural do OpenGL


Como us los juntos
Como usá-los juntos

  • Primeiro: criar um GLCanvas ou GLJPanel

  • Depois registrá-lo a um GLEventListener

  • O listener deve implementar os métodos

    • init(GLDrawable drawable )

    • reshape(GLDrawable drawable, int i, int x, int width, int height )

    • display(GLDrawable drawable )

    • displayChanged(GLDrawable drawable, boolean modeChanged, boolean deviceChanged )


Criar uma janela
Criar uma janela

  • Criar um Frame ou JFrame

  • Adicionar o GLCanvas ou GLJPanel

  • Fazer a implementação dos métodos da interface GLEventListener

Lesson01.java, FrameGL & projection.exe



Desenho de primitivas
Desenho de primitivas

  • Objetos criados com OpenGL são apenas combinações de primitivas

    • glBegin(tipo-primitiva) <vértices> glEnd()

  • Pontos

    • glBegin(GL_POINTS)

  • Segmentos

    • glBegin(GL_LINES)

    • glBegin(GL_LINE_STRIP)

    • glBegin(GL_LINE_LOOP)

PrimitivaI.java & shapes.exe


Desenho de primitivas1
Desenho de primitivas

  • Triângulos

    • glBegin(GL_TRIANGLES)

    • glBegin(GL_TRIANGLE_STRIP)

    • glBegin(GL_TRIANGLE_FAN)

  • Quadriláteros

    • glBegin(GL_QUADS)

    • glBegin(GL_QUADS_STRIP)

  • Polígonos em geral

    • glBegin(GL_POLYGON)

Lesson03.java



Fazer anima o
Fazer animação é:

  • Fazer vários desenhos com pequenas diferenças

  • Fazer esses desenhos em um curto espaço de tempo

  • Fazer a troca dos desenhos antes que o usuário perceba


E o que necess rio
... e o que é necessário?

  • Uso de variáveis de controle

  • Atualizar essas variáveis a cada iteração do loop de animação...

  • ... ou atualizá-las a cada interação do usuário.

PrimitivaII.java, Lesson04.java & transformation.exe


Imagem 3d
Imagem 3D

  • Pode ser obtida como uma concatenação de primitivas 2D

  • Requerem o uso do sistema cartesiano tridimensional

EspacoCartesiano.java & Lesson05.java


E para saber mais
...e para saber mais?

  • Dê uma olhada em:

    • http://nehe.gamedev.net/

    • http://today.java.net/pub/a/today/2003/09/11/jogl2d.html

    • http://www.inf.pucrs.br/~manssour/OpenGL/Tutorial.html

    • http://www.inf.pucrs.br/~pinho/CG/Aulas/OpenGL/OpenGL.html

    • http://pepijn.fab4.be/software/nehe-java-ports


Java bindings for opengl jogl an overview

Muito obrigado

contato:

rprado@ime.usp.br

rprado@ung.br