我的团队目前仅限于在 opengl 1.4 平台上绘制图像,这意味着我们无法使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用 intel 集成图形平台,这非常烦人)。到目前为止,我们能够绘制、缩放和翻转图像,但是制作图形的人声称在使用 glDrawPixels 时无法通过 glRotate 进行旋转,我们必须转到纹理等,不适用于 Intel 平台。
我在午餐时跟他打赌,有一个旋转函数,比如 glRotate,适用于直位图。这样的功能存在吗? glRotate 可以工作吗?我对这个图形问题有点新手,但除了通过纹理旋转之外,该库不允许位图旋转,这似乎很可笑。
Thanks.
您不能将 glRotate 与 glDrawPixels 一起使用。
glDrawPixels 是迄今为止将像素显示到屏幕上最差且性能最低的方法。通过使用糟糕的书面软件光栅器将像素放置到屏幕上,您甚至可以获得更好的性能。
简而言之,glDRawPixels 会将像素数据从进程内存复制到图形内存,并执行一些非常简单的转换,例如翻转和缩放。任何更高级的东西(比如旋转)都需要您实际使用图形芯片组的功能。例如。你必须使用纹理。
纹理确实有效。它们还可以与 GL 1.4 和 Intel 图形芯片组配合良好。我自己已经在这样的芯片组上工作了一段时间。您无法获得现代 ATI 或 NVIDIA 芯片组的性能,但它们并非如此that也不好。
我最好的选择是,有人尝试创建非二次方尺寸的纹理,但未能成功,并认为纹理通常不适用于芯片组。
这不是真的。他们确实工作。您只需要知道 OpenGL 要求您以二维次方创建纹理,并且您必须使用较大纹理的子矩形或将多个图像放入一个非常大的纹理中(后者称为纹理图集)。
您可以通过调整纹理坐标来补偿较大纹理中的较小图像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)