Javascript 我应该使用什么大小的纹理来传递函数?

Javascript 我应该使用什么大小的纹理来传递函数?,javascript,webgl,textures,webgl2,Javascript,Webgl,Textures,Webgl2,我使用2D纹理,比如1D纹理(高度为1)来编码传递函数。值的范围可以是5k、15k到64k,具体取决于图像。实际上,我创建了一个大小等于所有可能值范围的纹理,但我在着色器中使用0到1之间的查找进行访问。问题是,如果我有10k范围值,而maxTextureSize是8k,我就无法创建纹理 一个可能的解决方法是分割传递函数以使用2D纹理的更多维度,但我注意到,如果我创建了一个尺寸较小的纹理,但按比例填充传递函数的数据,我可以在0和1之间进行查找,其余部分由线性插值完成。对于尺寸为1k的传递函数纹理,

我使用2D纹理,比如1D纹理(高度为1)来编码传递函数。值的范围可以是5k、15k到64k,具体取决于图像。实际上,我创建了一个大小等于所有可能值范围的纹理,但我在着色器中使用0到1之间的查找进行访问。问题是,如果我有10k范围值,而maxTextureSize是8k,我就无法创建纹理

一个可能的解决方法是分割传递函数以使用2D纹理的更多维度,但我注意到,如果我创建了一个尺寸较小的纹理,但按比例填充传递函数的数据,我可以在0和1之间进行查找,其余部分由线性插值完成。对于尺寸为1k的传递函数纹理,我的结果与10k纹理的结果相同

这两种纹理给了我相同的结果:

我的疑问是,我如何计算纹理的最小尺寸以不损失质量

如有任何建议,将不胜感激