在哪里指定OpenGL ES 2.0如何在片段着色器中表示浮动纹理值?

rsp*_*984 7 graphics android gpgpu opengl-es opengl-es-2.0

我正在尝试使用OpenGL ES 2.0做一些GPGPU.
在我看来,GL_NV_draw_buffers和GL_OES_texture_float扩展是这里的一些基本要素.

这个问题与GL_OES_texture_float扩展有关:从桌面世界来看,如果格式是固定点(如GL_RGBA),我习惯在着色器中访问纹理时在[0..1]范围内.
咨询相应的OES扩展页面,它说:

"......如果纹理的内部格式是定点的,则组件被限制为[0..1].否则,不会修改值."

现在我已经多次在网上听到过(例如答案:OpenGL GLSL采样器总是返回从0.0到1.0的浮点数),ES 2.0也支持访问片段着色器中未展开的值.但是这个功能在哪里指定?扩展说"否则,值不会被修改",但由于OpenGL ES规范只知道定点格式,因此对我来说没有意义.

另外,据我所知,扩展只指定浮点值可以从客户端内存读取到纹理中,但不指定纹理在图形内存中的表示方式(即每个通道有多少位).这有什么官方规格吗?

最后,我想在我的片段着色器中将未展开的浮点值写入FBO颜色附件,最好每个通道使用32位.这可能吗?