OPENGL…O QUE É ISSO?

julho 23rd, 2009
by admin

Muitas pessoas ao adiquirirem equipamentos com a intenção de utilizá-los em computação gráfica imaginam que uma placa de vídeo com grande taxa de tranferência de dados é suficiente para a tarefa. O que muitos esquecem é a  compatibilidade do sistema com PLUGINS OpenGL para rodarmos sistemas CAD, ou seja, não adianta comprar uma placa de vídeo ótima para jogos com sistema DIRECTX.

Para 2D sem problemas. As coisas ficam complicadas quando atuamos com desenho tridimensional, pois a identificação de pontos de seleção ou atuação com NURBS fica comprometida quando a placa de vídeo não é ajustada para esta tarefa, o que pode comprometer, não só a renderização com a confecção do projeto.

pqpqp

Mas afinal….o que é OpenGL?

O OpenGL é um conjunto de algumas centenas de funções, que fornecem acesso a praticamente todos os recursos do hardware de vídeo. Internamente, ele age como uma máquina de estados, que de maneira bem específica dizem ao OpenGL o que fazer. Usando as funções da API, você pode ligar ou desligar vários aspectos dessa máquina, tais como a cor atual, se transparência será usada, se cálculos de iluminação devem ser feitos, se haverá ou não o efeito de neblina, e assim por diante. É importante conhecer cada um desses estados, pois não é incomum a obtenção de resultados indesejados simplesmente por deixar um ou outro estado definido de maneira incorreta.

O OpenGL também foi projetado para funcionar mesmo que a máquina que esteja exibindo os gráficos não seja a mesma que contém o programa gráfico. Pode ser o caso dos dois computadores estarem conectados em rede e, nesse caso, o computador que gera os comandos é chamado cliente, enquanto o que recebe e executa os comandos de pintura é chamado de servidor. O formato da transmissão desses comandos (chamado protocolo) também é padronizado, então é possível que duas máquinas com sistemas operacionais e hardwares diferentes se comuniquem dessa forma. Se o OpenGL não está sendo executado numa rede, o computador é considerado ao mesmo tempo cliente e servidor.

Essa decisão de design tem uma consequência muito importante: os comandos do OpenGL não são imediatamente jogados para o hardware. Eles são agrupados para serem enviados mais tarde – o que não só otimiza o uso da rede, mas também abre margem para outras otimizações. Por consequência, um erro comum de muitos programadores é tentar medir o tempo levado pelos comandos de pintura simplesmente adicionando funções antes e depois de um comando (ou conjunto de comandos) o que, nessa arquitetura, certamente gerará resultados inválidos.

Posted in Dicas | Comments (0)

No comments yet

Leave a Reply

  • CONTATO:

    Para contribuir com sugestões, tirar dúvidas ou contratar uma consultoria escreva para ricardo@pontocad.com