我怎样才能使用查找表的亮度和对比度?

目前,我实现了一个基本的亮度和对比度algorithm,逐个像素地改变亮度和对比度。 这是非常低效的性能,algorithm看起来有点奇怪。

我听说我可以使用查找表来获取纹理2D图像的亮度和对比度值。 我如何在Unity中做这样的事情?

目前在统一,我有一个预制,我在其上加载纹理2D图像。 这是我想要应用亮度和对比度更改的图像。

像下面这样:

public void addContrast(float Contrast) { byte[] contrast_lookup = new byte[256]; double newValue = 0; double c = (100.0 + Contrast) / 100.0; c *= c; for (int i = 0; i < 256; i++) { newValue = (double)i; newValue /= 255.0; newValue -= 0.5; newValue *= c; newValue += 0.5; newValue *= 255; if (newValue < 0) newValue = 0; if (newValue > 255) newValue = 255; contrast_lookup[i] = (byte)newValue; } } 

此时,对于每个像素,用contrast_lookup(G)contrast_lookup(B)contrast_lookup(R)replaceGBR,