/ / Posso usar o OpenGL em mais de um idioma ao mesmo tempo? - c #, c ++, opengl

Posso usar o OpenGL em mais de um idioma ao mesmo tempo? - c #, c ++, opengl

Eu tenho um programa OpenGL em c #, mas também quero executar funções OpenGL de uma DLL de C ++. As alterações feitas pela minha biblioteca C ++ terão efeito no programa C #?

Editar: Para ser mais claro, quero compartilhar o mesmo contexto do OpenGL para dois idiomas.

Eu sou o PInvoking funções do C ++ que usa o OpenGL do meu código c #.

Respostas:

4 para resposta № 1

O contexto atual do OpenGL é um estado global de segmento local.

O que isso significa é que, enquanto o código C ++ e C # estiver sendo executado no mesmo encadeamento, os comandos OpenGL emitidos em um dos dois serão compatíveis.

No entanto, se você estiver lidando com vários / diferentes threads, você precisará ativar o contexto OpenGL em C ++ (supondo que ele foi criado em C #), usando wglMakeCurrent(). Para fazer isso, você terá que propagar as alças adequadas de alguma forma.