Do I have to worry about non-power-of-two textures on API 16+?
I'm creating a mobile game for Android and iOS. As I read on Android's website: OpenGL ES 1.0 and 1.1 - This API specification is supported by Android 1.0 and higher. OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher. OpenGL ES 3.0 - This API specification is supported by Android 4.3 (API level 18) and higher. OpenGL ES 3.1 - This API specification is supported by Android 5.0 (API level 21) and higher. I build my app to target only devices API16+, BUT, does it mean that I can use non-pot textures? Is this possible that someone with this API level will have OpenGL 1.0 on his device which will crash trying to load my textures? Is this device independant?
Firstly, you didn't mention whether you are targeting OpenGLES 1 or 2. From the information you've posted, all the devices you target support OpenGLES 2, but it's up to you which version you actually chose to use. Assuming your code uses OpenGLES 2, then all devices should work with non-POT textures. However, you should be aware that texture wrapping (GL_REPEAT) and mipmapping are only supported on non-POT textures via extensions. Also, a lot of devices will allocate memory as if your texture was POT anyway. Because of these reasons, it's almost always a good idea to author POT textures for 3D assets. For 2D assets it's a good idea to think about using texture atlasses to combine multiple non-POT textures into a larger POT atlas.
marshmallow permissions dialog ALLOW button not working why?
Unable to add image in a istview from the database
how to get imagelink(url) from listview onItemClickListener
on capturing image from camera the app is crashing in kitkat android
Does FragmentStatePagerAdapter save fragment state on orientation change?
Cannot resolve symbol default_web_client_id in Firebase's Android Codelab
Taking picture without camera preview not working in lolipop and above version
What could a function look like that receives three locations and three radius and outputs one coordinate showing the overlapping?
Adding Firebase Analytics and Google Analytics in Android App
Android - The Fragment is getting refreshed only when the orientation is changed
Bluetooth headset can't receive the last voice
list only updates when I scroll - android listview
Android, using Zxing into a webview, into back button, shows blank activity
Cannot delete sqlite row using a contextual menu and listview in Android
Android FireBase error when uploading picture
How to include “.sources” file in gradle 2.10 and android studio 2.0+