examples ejemplo documentacion cubo opengl rotation gldrawpixels

ejemplo - opengl pdf



rotaciĆ³n abierta utilizando gldrawpixels (1)

No puedes usar glRotate con glDrawPixels.

glDrawPixels es la peor y menos eficiente forma de obtener píxeles en la pantalla con diferencia. Incluso obtendrá un mejor rendimiento al poner los píxeles en la pantalla utilizando un rasterizador de software mal escrito.

En resumen, glDRawPixels copiará datos de píxeles de la memoria de proceso a la memoria de gráficos y realizará transformaciones muy triviales como voltear y escalar. Todo lo más avanzado (como la rotación) requiere que realmente utilice las funciones del conjunto de chips gráficos. Ej. Tienes que usar texturas.

Y las texturas funcionan. También funcionan bien con GL 1.4 y los conjuntos de chips gráficos de Intel. He trabajado en un conjunto de chips así por un buen tiempo. No obtendrá el rendimiento de los modernos conjuntos de chips ATI o NVIDIA, pero tampoco son tan malos.

Mi mejor opción es que alguien intentó crear texturas de una potencia que no sea de dos dimensiones, no lo hizo y decidió que las texturas en general no funcionan en el conjunto de chips.

Eso no es cierto. Ellos trabajan Solo tienes que saber que OpenGL requiere que crees texturas a potencia de dos dimensiones y que debes usar un subrectangle de la textura más grande o poner varias imágenes en una textura muy grande (la última se llama atlas de textura).

Puede compensar la imagen más pequeña dentro de una textura más grande ajustando las coordenadas de la textura.

Mi equipo actualmente se limita a dibujar imágenes en una plataforma opengl 1.4, lo que significa que no podemos usar ningún mapeo de texturas ingenioso para dibujar una imagen (sí, estamos confinados a usar la plataforma de gráficos integrados de Intel, es muy molesto). Hasta ahora, podemos dibujar, escalar y voltear una imagen, pero el tipo que hace los gráficos afirma que la rotación a través de glRotate no se puede hacer usando glDrawPixels, que tendríamos que ir a texturas, etc. que no funcionan en la plataforma Intel.

Le apuesto que almorzará que hay una función de rotación, como glRotate, que funcionará para mapas de bits rectos. ¿Existe tal función? ¿Glrotary funcionaría? Soy un poco novato en esta cosa de gráficos, pero parece absurdo que la biblioteca no permita la rotación del mapa de bits, excepto a través de la rotación de texturas.

Gracias.