+ Responder ao Tópico



  1. #1
    _ivy_
    Visitante

    Padrão Erro utilizando extensão ARB em opengl

    Ola pessoal !!!

    Eu estou utilizando a extensao ARB de opengl em Linux.

    Eu estou utilizando a biblioteca Sh para implementar
    codigo para ser executado em GPU.

    O meu aplicativo de teste compila e linka sem problemas, mas
    na hora de executar ocorre o seguinte erro:

    ./shglutex: relocation error: /home/rcsd/garzao/apps/sh-0.7.2/lib/sh/libsharb.so: undefined symbol: glGetProgramivARB

    Alguem tem alguma dica?

    []'s

  2. #2

    Padrão Erro utilizando extensão ARB em opengl

    Olá _ivy_,

    (gracas a Deus (ou nao), nunca precisei mexer nesse emaranhado chamado opengl... nao tenho nem ideia das libs envolvidas. minha DICA eh referente a programacao...)
    Vc nao esta recebendo erro de compilacao/link pq a libsharb.so esta abrindo dinamicamente (dlopen()) alguma outra lib, e 'pensa' que o symbol glGetProgramivARB() estará definido (na lib aberta). Mas nao esta...
    Verifique as versoes das libs envolvidas nesse projeto... veja se vc acha a funcao glGetProgramivARB() dentro de alguma lib (os comandos 'nm' e 'ar' podem ajudar). Veja quais sao as dependencias da lib.

    []s

  3. #3
    _ivy_
    Visitante

    Padrão Erro utilizando extensão ARB em opengl

    Oii.. obrigada pela dica, consegui resolver o problema..era +- isso q vc falou

    essas funções ARB sao confusas.. bom.. eu precisava antes de tudo acertar os ponteiros pra essas funções.. ai olhei no GL/glext.h o nome do define que precisava usar (baseado no nome da função), neste meu caso, seguindo os headers da nvidia, seria
    o "PFNGLGETPROGRAMIVARBPROC", e ficou algo como:

    PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;

    // dentro de alguma função de inicialização

    glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)
    glXGetProcAddressARB("glGetProgramivARB");


    Depois disso, consegui usar a função normalmente.

    Agora me pergunto...
    O que na cabeça teria alguém que esta define/variável/macro/coisa definiu?

    rsss..

    []'s