opengl 自上而下<->自下而上纹理?
当我通过 FreeImage 加载图像时,这些位是从下到上的。 我的 GL 代码期望所有图像都是自上而下的。 当我将位复制到纹理时翻转图像的最佳方法是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
当我通过 FreeImage 加载图像时,这些位是从下到上的。 我的 GL 代码期望所有图像都是自上而下的。 当我将位复制到纹理时翻转图像的最佳方法是什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
您可以使用纹理矩阵来有效地翻转纹理坐标。 我认为这会起作用:
You could use the texture matrix to effectively flip texcoords. I think this would work:
我认为使用简单的数组算术和 1 个临时长字值进行就地翻转是明智的。 (所以每个像素翻转,4 个字节)。
您当然可以翻转纹理坐标,但恕我直言,这是不明智的,因为您可能不想用纹理颠倒的信息污染您的代码。
I think it's wise to do an in-place flip using simple array arithmetic and 1 temporary longword value. (so flip per pixel, 4 bytes).
You could of course flip texture coords but that would be unwise IMHO, as you probably don't want to pollute your code with the info that the texture is upside down.
可以尝试一下 FreeImage_FlipVertical() 。
Might give FreeImage_FlipVertical() a try.
根据您的应用程序,大多数专业游戏会在构建过程中而不是在加载时翻转其纹理。
Depending on your app, most professional games would flip their textures in their build process, not at load time.