Articles of opengl

Confusão entre ordem de matriz de C ++ e OpenGL (linha principal vs. coluna principal)

Estou ficando completamente confuso com as definições da matriz. Eu tenho uma class de matriz, que contém um float[16] que eu assumi é maior em linha, com base nas seguintes observações: float matrixA[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; float matrixB[4][4] = […]

O que glLoadIdentity () faz no OpenGL?

Eu sou novo no OpenGL e estou um pouco sobrecarregado com todas as funções aleatórias que eu tenho no meu código. Eles trabalham e eu sei quando usá-los, mas não sei porque eu preciso deles ou o que eles realmente fazem. Eu sei que glLoadIdentity() substitui a matriz atual pela matriz de identidade, mas o […]

Eu tenho uma Esfera de Vidro OpenGL e eu quero cortar um buraco cilíndrico

Estou trabalhando em um software que gerou uma malha poligonal para representar uma esfera e quero cortar um buraco na esfera. Essa malha poligonal é apenas uma sobreposição na superfície da esfera. Eu tenho uma boa idéia de como determinar quais polígonos vão cruzar o meu buraco, e posso removê-los da minha coleção, mas depois […]

Diferença de renderização alfa entre o OpenGL e o WebGL

Eu estou processando a mesma cena usando o mesmo código C ++ exato, uma vez para OpenGL nativo no Windows e uma vez usando Emscripten para WebGL. Tudo na cena parece exatamente o mesmo, exceto quando estou processando algo com alpha! = 1.0. A diferença parece com isso: A cor do cubo azul é (0.0, […]

Girando um object em torno de um ponto fixo usando glMultMatrix

Girando um object ao redor (x, y, 0): // 2D glTranslatef(-x, -y, 0); glRotatef(theta, 0.0, 0.0, 1.0); glTranslatef(x, y, 0); está correto?! que tal usar “glMultMatrix” em vez de “glTranslatef” e “glRotatef” ?! glLoadIdentity(); glMultMatrix(Translation_Matrix); //glTranslatef(x, y, 0); glMultMatrix(Rotation_Matrix); //glRotatef(theta, 0.0, 1.0, 0.0); glMultMatrix(Neg_Translation_Matrix); // glTranslatef(-x, -y, 0); é sequência de matrizes correta ?!

Pinte um retângulo em qglwidget em tempos específicos

Estou usando o Qt 5.7 com c ++ no Ubuntu 16.04. Eu estou tentando implementar uma class que herda qglwidget, que processa imagens para a canvas a uma determinada taxa (3-10 Hz). Além disso, quero desenhar um pequeno retângulo em algum lugar da canvas que mude sua cor de preto para branco e vice-versa. Ele […]

glVertexAttribPointer e glVertexAttribFormat: Qual é a diferença?

OpenGL 4.3 e OpenGL ES 3.1 adicionaram várias funções alternativas para especificar arrays de vértices: glVertexAttribFormat , glBindVertexBuffers , etc. Mas nós já tínhamos funções para especificar arrays de vértices. Ou seja, glVertexAttribPointer . Por que adicionar novas APIs que fazem o mesmo que as antigas? Como as novas APIs funcionam?

Quando o OpenGL é finalizado com pointers em funções?

O OpenGL tem várias funções que levam diretamente pointers. Alguns deles lêem dados desses pointers , outros escrevem dados para esses pointers . No entanto, as funções OpenGL geralmente não são executadas imediatamente. Normalmente, quando você desenha algo, demora um tempo para o desenho terminar. Então, como eu sei quando o OpenGL é concluído com […]

Por que GL divide `gl_Position` por W para você em vez de permitir que você faça você mesmo?

Nota: Eu entendo a matemática básica. Eu entendo que a function de perspective típica em várias bibliotecas matemáticas produz uma matriz que converte valores z de -zNear para -zFar de volta em -1 para +1, mas somente se o resultado for dividido por w A questão específica é o que é ganho pela GPU fazendo […]

Reprovação de glut no Mac OSX 10.9, IDE: QT Creator

Eu estava tentando construir um programa opengl no criador qt, instalado no meu mac, com osx 10.9. Eu tenho vários avisos sobre as funções glut sobre sua depreciação em osx10.9, uma mensagem de erro de amostra é como: ‘glutInit’ é preterido: primeiro obsoleto no OS X 10.9 [-Wdeprecated-declarations] glutInit (& argc, & argv); ^ Gostaria […]