OpenGL Mipmapping(Android NDK)
http://en.wikipedia.org/wiki/Mipmap
這個是我這次在做安卓時遇到的問題
因爲GPU的限制,紋理創建時的寬或高需爲2的次方
就是1,2,4,8,16,32,64,128.......
圖的寬高爲31*52,直接作爲紋理的寬高
在某些GPU是可以支援非2次方的寬高, 所以沒有問題
但還是有很多GPU是不支援的
若是GPU不支援非2次方寬高,則glTexImage2D會產生GL_INVALID_VALUE(1281)的錯誤
所以就直接將所有的紋理創建爲2次方的寬高
就解決了問題
實際實踐手法是這樣
1.讀圖
2.讀取圖的寬高
3.找出適合的紋理寬高(如5*9=>8*16, 31*55=>32*64)
4.用紋理寬高創建緩存
最後再用glTexImage2D創建紋理
這樣就在絕大部分Android機子上能運行了
這個是我這次在做安卓時遇到的問題
因爲GPU的限制,紋理創建時的寬或高需爲2的次方
就是1,2,4,8,16,32,64,128.......
圖的寬高爲31*52,直接作爲紋理的寬高
在某些GPU是可以支援非2次方的寬高, 所以沒有問題
但還是有很多GPU是不支援的
若是GPU不支援非2次方寬高,則glTexImage2D會產生GL_INVALID_VALUE(1281)的錯誤
所以就直接將所有的紋理創建爲2次方的寬高
就解決了問題
實際實踐手法是這樣
1.讀圖
2.讀取圖的寬高
3.找出適合的紋理寬高(如5*9=>8*16, 31*55=>32*64)
4.用紋理寬高創建緩存
最後再用glTexImage2D創建紋理
這樣就在絕大部分Android機子上能運行了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Android代碼混淆,就這麼簡單
Maybe_ren
2020-07-08 12:37:11
利用rxjava實現監聽EditView裏的文字在規定時間間隔不變後進行聯想搜索
丶咿呀咿呀
2020-07-08 12:20:52
在虛擬機中安裝android apk
shaochengand
2020-07-08 11:56:57
Android studio 升級後項目出錯
mr.rui
2020-07-08 11:51:59
Android應對進程被殺死--Service(二)
lyl953147712
2020-07-08 11:46:59
Windows Running “flutter pub get“ in XXX卡死
小海编码日记
2020-07-08 12:40:51
Android操作Exif-ExifInterface全解析
Maybe_ren
2020-07-08 12:37:11
selinux-實現
vrix
2020-07-08 12:37:00
selinux-概覽
vrix
2020-07-08 12:37:00
selinux-驗證
vrix
2020-07-08 12:37:00
Android受限廣播(protected-broadcast)
vrix
2020-07-08 12:37:00
selinux-自定義
vrix
2020-07-08 12:37:00
在Android端實現基於OPENGL ES 的深度學習前向傳播框架
koibiki
2020-07-08 12:23:30
Desire rom - build kernel
dkyang
2020-07-08 12:22:51