我的团队目前仅限于在opengl 1.4平台上绘制图像,这意味着我们无法使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用intel集成图形平台,它非常讨厌)。到目前为止,我们能够绘制,缩放和翻转图像,但是做图形的人声称在使用glDrawPixels时无法通过glRotate进行旋转,我们必须转到纹理等等,哪些无法在英特尔平台上运行。

我敢打赌他午餐时有旋转功能,比如glRotate,它可以用于直接位图。这样的功能存在吗? glRotate会工作吗?我对这个图形事物有点新手,但是除了通过纹理旋转之外,库不允许位图旋转似乎很荒谬。

感谢。

有帮助吗?

解决方案

你不能将glRotate与glDrawPixels一起使用。

glDrawPixels是迄今为止将像素投放到屏幕上的最差且性能最差的方法。通过使用糟糕的书面软件光栅化器将像素放在屏幕上,您甚至可以获得更好的性能。

简而言之,glDRawPixels会将像素数据从过程内存复制到图形内存,并会进行一些非常简单的转换,如翻转和缩放。更先进的一切(如旋转)要求您实际使用图形芯片组的功能。例如。你必须使用纹理。

纹理确实有效。它们也适用于GL 1.4和Intel图形芯片组。我自己在这样的芯片组上工作了很长一段时间。你不会得到现代ATI或NVIDIA芯片组的性能,但它们也不是 坏。

我最好的选择是有人试图创建两种尺寸的非功率纹理,但未能这样做并且认为纹理通常不适用于芯片组。

那不是真的。他们确实有效。您只需要知道OpenGL要求您以二维的力量创建纹理,并且您必须使用较大纹理的子矩形或将多个图像放入一个非常大的纹理(后者称为纹理图集)。 / p>

您可以通过调整纹理坐标来补偿较大纹理中的较小图像。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top