ドキュメントによると、HDR 圧縮テクスチャを作成できるので、次のようにします。
funcs->glGenTextures(1, &newCompressedTexture);
funcs->glActiveTexture(GL_TEXTURE0 + g_cTileTextureUnit);
funcs->glBindTexture(GL_TEXTURE_2D, newCompressedTexture);
funcs->glTexStorage2D(GL_TEXTURE_2D, 1, oglTileInfo.m_compressedInternalFormat, g_cTileWidthWithBorder, g_cTileWidthWithBorder);
funcs->glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, g_cTileWidthWithBorder, g_cTileWidthWithBorder, GL_RED, GL_FLOAT, getUncompressedData().rData()._m_data.data());
oglTileInfo.m_compressedInternalFormat は GL_COMPRESSED_RED_RGTC1 または GL_COMPRESSED_RGBA_ASTC_4x4_KHR です。gl エラーはありません。シェーダーは正しく動作しますが、texture() で取得している値は [0,1] とその深さ 8 ビットの間でクランプされます。テクスチャの内部フォーマットとして GL_R32F を使用するとすべて問題なく動作しますが、圧縮が必要です。ありがとう。