我正在考虑在某些地方使用iOS上的Half Float(GL_HALF_FLOAT_OES
)纹理来提高精度。但是如何使用Half Float数据初始化纹理?
如果我将glTexImage2D(…)
与data
缓冲区一起使用,那么我假设它需要包含半浮点数据,但我如何转换32位浮点数据或16位整数数据进入半浮点格式?
例如:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_HALF_FLOAT_OES, data);
如果我这样做,则data
需要包含指向半浮点缓冲区的指针。但是,如何将现有数据转换为半浮点数? iOS上是否有库或API调用?或者其他一些填充纹理的方法?