Pergunta

A minha equipa está actualmente limitada a imagens de desenho em uma plataforma OpenGL 1.4, o que significa que não podemos usar qualquer mapeamento de textura bacana para desenhar uma imagem (sim, estamos confinados a usar o intel integrado plataforma gráfica, é muito irritante). Até agora, nós somos capazes de desenhar, escala e virar uma imagem, mas o cara fazendo as reivindicações gráficos que a rotação via glRotate não pode ser feito durante a utilização glDrawPixels, que teríamos que ir para texturas e assim por diante, que não funcionam na plataforma Intel.

Eu tenho aposta-lhe um almoço que há uma função de rotação, como glRotate, que irá trabalhar para bitmaps retas. Será que tal função a exist? trabalho seria glRotate? Eu sou um pouco de um novato para esta coisa gráficos, mas parece ridículo que a biblioteca não permitiria rotação bitmap, exceto através de rotação textura.

Graças.

Foi útil?

Solução

Você não pode usar glRotate com glDrawPixels.

glDrawPixels é o pior e menos performant maneira de obter pixels na tela de longe. Você ainda vai obter um melhor desempenho, colocando os pixels na tela usando um mau escrito software-rasterizer.

Em glDrawPixels curtas irá copiar dados de pixel a partir do processo de memória para a memória gráfica e fará algumas transformações muito triviais como flipping e descamação. Tudo mais avançada (como rotação) requer que você realmente usar as características do gráfico-chipset. Por exemplo. Você tem que texturas de uso.

e texturas fazer o trabalho. Eles também funcionam bem com GL 1.4 e os chipsets gráficos Intel. Eu trabalhei em tais chipset a mim por um bom tempo. Você não terá o desempenho dos modernos chipsets ATI ou NVIDIA, mas eles não são que ruim.

Meu melhor aposta é que alguém tentou criar texturas de um não poder de dois tamanho, não conseguiu fazê-lo e decidiu que texturas em geral não funcionam no chipset.

Isso não é verdade. Eles não funcionam. Você apenas tem que saber que OpenGL requer que você criar texturas em poder de duas dimensões e que você tem que usar uma sub-retângulo da textura maior ou colocar várias imagens em uma grande textura (o mais tarde é chamado uma textura atlas).

Você pode compensar a imagem menor dentro de uma textura maior ajustando as textura coordenadas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top