linux平台下 OPENGL 贴图问题 我希望读取BMP图片 并贴图在一个矩形上 但是现在贴图效果很差。。。

linux平台下 OPENGL 贴图问题 我希望读取BMP图片 并贴图在一个矩形上 但是现在贴图效果很差。。。,第1张

LZ你贴图参数里面过滤模式选择线性就行

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)

这里两个GL_NEAREST改为GL_LINEAR 贴图就不会马赛克了

还有注意的是贴图长宽最好是2的倍数

这个需要了解 BMP图片的格式。每一个像素点都是 由4个字节表示的,所以只要读取4个字节 然后根据不同的格式 转化一下就可以得到 RGB 的三原色了。

例如: 如 一张bmp 是24位真彩色的,那读取后面的实际数据 第一个 4字节数据就是 (0,0)像素点 ,可以得到它的 三原色值。后面的像素点一次类推 往后每增加 一个像素点就读下一个 4字节数据。 


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7337565.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存