Now I am making an interactive android application using opengl es. I need the user to be able to change the screen resolution (rendering quality) in the settings of this application. That is, that this can be done without zooming in and out of the glsurfaceview and without postprocessing. Can this be done in openg es 2.x and 3.x?
This is outside of OpenGL’s domain. It’s not even EGL’s domain. If it’s even possible, it would be via some Android-specific API.
It may not even be possible. You can’t change the number of physical pixels on the screen, so using anything other than the native resolution is going to involve something rescaling an image. PC monitors have this functionality built-in for compatibility with hardware and operating systems which were originally designed for use with CRT monitors (which don’t have a native resolution). But there’s no reason for a smartphone or tablet to have dedicated hardware to implement this feature. It’s a fairly safe bet that anything which displays a full-screen image at something other than the native resolution (e.g. video playback) involves instructing the GPU to perform a scaling blit from an off-screen surface to the physical framebuffer (i.e. the chunk of video memory from which the video output is generated).