private static ColorLerpUnclamped ( Color c1, Color c2, float value ) : Color | ||
c1 | Color | |
c2 | Color | |
value | float | |
return | Color |
private static void BilinearScale(int start, int end) { for (int i = start; i < end; i++) { int num = (int)Mathf.Floor((float)i * TextureScale.ratioY); int num2 = num * TextureScale.w; int num3 = (num + 1) * TextureScale.w; int num4 = i * TextureScale.w2; for (int j = 0; j < TextureScale.w2; j++) { int num5 = (int)Mathf.Floor((float)j * TextureScale.ratioX); float value = (float)j * TextureScale.ratioX - (float)num5; TextureScale.newColors[num4 + j] = TextureScale.ColorLerpUnclamped(TextureScale.ColorLerpUnclamped(TextureScale.texColors[num2 + num5], TextureScale.texColors[num2 + num5 + 1], value), TextureScale.ColorLerpUnclamped(TextureScale.texColors[num3 + num5], TextureScale.texColors[num3 + num5 + 1], value), (float)i * TextureScale.ratioY - (float)num); } } }
public static void BilinearScale(object obj) { TextureScale.ThreadData threadData = (TextureScale.ThreadData)obj; for (int start = threadData.start; start < threadData.end; ++start) { int num1 = (int)Mathf.Floor((float)start * TextureScale.ratioY); int num2 = num1 * TextureScale.w; int num3 = (num1 + 1) * TextureScale.w; int num4 = start * TextureScale.w2; for (int index = 0; index < TextureScale.w2; ++index) { int num5 = (int)Mathf.Floor((float)index * TextureScale.ratioX); float num6 = (float)index * TextureScale.ratioX - (float)num5; TextureScale.newColors[num4 + index] = TextureScale.ColorLerpUnclamped(TextureScale.ColorLerpUnclamped(TextureScale.texColors[num2 + num5], TextureScale.texColors[num2 + num5 + 1], num6), TextureScale.ColorLerpUnclamped(TextureScale.texColors[num3 + num5], TextureScale.texColors[num3 + num5 + 1], num6), (float)start * TextureScale.ratioY - (float)num1); } } TextureScale.mutex.WaitOne(); ++TextureScale.finishCount; TextureScale.mutex.ReleaseMutex(); }
// Token: 0x06000611 RID: 1553 RVA: 0x000248F0 File Offset: 0x00022CF0 public static void BilinearScale(object obj) { TextureScale.ThreadData threadData = (TextureScale.ThreadData)obj; for (int i = threadData.start; i < threadData.end; i++) { int num = (int)Mathf.Floor((float)i * TextureScale.ratioY); int num2 = num * TextureScale.w; int num3 = (num + 1) * TextureScale.w; int num4 = i * TextureScale.w2; for (int j = 0; j < TextureScale.w2; j++) { int num5 = (int)Mathf.Floor((float)j * TextureScale.ratioX); float value = (float)j * TextureScale.ratioX - (float)num5; TextureScale.newColors[num4 + j] = TextureScale.ColorLerpUnclamped(TextureScale.ColorLerpUnclamped(TextureScale.texColors[num2 + num5], TextureScale.texColors[num2 + num5 + 1], value), TextureScale.ColorLerpUnclamped(TextureScale.texColors[num3 + num5], TextureScale.texColors[num3 + num5 + 1], value), (float)i * TextureScale.ratioY - (float)num); } } TextureScale.mutex.WaitOne(); TextureScale.finishCount++; TextureScale.mutex.ReleaseMutex(); }