Glew

Glew (GL Extension Wrangler Library) é uma API livre de plataforma que permite um acesso rápido e fácil às extensões do OpenGL. Uma das vantagens do Glew é que ela é livre de plataforma

Suporte

A versão mais recente até o momento desta escrita é o Glew 1.5.4 que dá acesso às extensões disponíveis desde do opengl 1.1 até o 4.0

Maneira de se usar

O cabeçalho do glew é o glew.h que está dentro da pasta GL. Também há cabeçalhos dependentes de plataforma wglew.h para Windows e glxew.h para Linux.

O Glew tem uma função simples que inicializa a biblioteca chamada glewInit(). Depois de ser chamada o processo para descobrir se uma extensão está disponível ou não consiste apenas de testar se há uma certa macro disponível no sistema

Exemplo de código

int main( int argc, char **argv ){
    ...
    glewInit();

    if( GL_ARB_vertex_buffer_object ){
        puts( "VBOs estão presentes" );
    }

    ...
}

Usando Glew com MingW

Caso você tenha baixado os binários do Glew para Windows reparará que há uma pasta bin com a DLL glew32.dll, uma pasta lib com arquivos .lib, outra include com os arquivos .h além de outros arquivos e pasta. Para o nosso propósito as pastas válidas são as citadas: bin, include e lib.

  • O primeiro passo é a adição do caminho da pasta include como diretório adicional onde o compilador irá procurar os includes
  • O segundo passo é a adição do caminho da pasta lib como diretório adicional onde o linker irá procurar as bibliotecas
  • Por último a pasta bin deve ser adicionada como caminho para o linker da mesma forma que ocorreu com a pasta lib
  • Deve ser adicionado o arquivo glew32s.lib como biblioteca a ser utilizada pelo linker
  • Também deve ser adicionado como parâmetro ao linker o arquivo opengl32.lib presente no SDK da plataforma Windows
  • Por último dizer ao compilador que se pretende utilizar funções da biblioteca dinâmica glew32.dll

Links

http://glew.sourceforge.net/ Site oficial do Glew

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.