public void CropOverlayGrayOutAll() { var models = new Models(1); models.AddImageFromFile(TestData.Directory + "small.pfm"); models.Apply(); var crop = new CropOverlay(models); models.Overlay.Overlays.Add(crop); crop.Start = null; crop.End = null; crop.IsEnabled = true; var expectedColors = models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Mip0); for (var i = 0; i < expectedColors.Length; i++) { expectedColors[i] = expectedColors[i].Scale(0.5f, Color.Channel.Rgb); } var actualColors = GetColorAfterExport(models); TestData.CompareColors(expectedColors, actualColors); }
public void CropOverlaySimple() { var models = new Models(1); models.AddImageFromFile(TestData.Directory + "small.pfm"); models.Apply(); var dim = models.Images.Size; var crop = new CropOverlay(models); models.Overlay.Overlays.Add(crop); // set up cropping crop.Start = new Size3(1, 2, 0).ToCoords(dim); crop.End = new Size3(2, 2, 0).ToCoords(dim); crop.IsEnabled = false; // nothing should change var expectedColors = models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Mip0); var actualColors = GetColorAfterExport(models); TestData.CompareColors(expectedColors, actualColors, Color.Channel.Rgba, 0.0f); // enable cropping crop.IsEnabled = true; // gray out colors for (int i = 0; i <= 6; ++i) { expectedColors[i] = expectedColors[i].Scale(0.5f, Color.Channel.Rgb); } actualColors = GetColorAfterExport(models); TestData.CompareColors(expectedColors, actualColors, Color.Channel.Rgba); }
public void CropOverlayLayers() { var models = new Models(1); models.AddImageFromFile(TestData.Directory + "cubemap.dds"); models.Apply(); var dim = models.Images.Size; var crop = new CropOverlay(models); models.Overlay.Overlays.Add(crop); // everything should be the same crop.Start = Float3.Zero; crop.End = Float3.One; crop.Layer = -1; crop.IsEnabled = true; Assert.IsFalse(crop.HasWork); crop.Layer = 1; var refColors = new Color[][] { models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer0), models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer1), models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer2), models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer3), models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer4), models.Pipelines[0].Image.GetPixelColors(LayerMipmapSlice.Layer5), }; // gray out all layers except layer 1 for (int layer = 0; layer < 6; ++layer) { if (layer == 1) { continue; } for (var index = 0; index < refColors[layer].Length; index++) { refColors[layer][index] = refColors[layer][index].Scale(0.5f, Color.Channel.Rgb); } } TestData.CompareColors(refColors[0], GetColorAfterExport(models, 0)); TestData.CompareColors(refColors[1], GetColorAfterExport(models, 1)); TestData.CompareColors(refColors[2], GetColorAfterExport(models, 2)); TestData.CompareColors(refColors[3], GetColorAfterExport(models, 3)); TestData.CompareColors(refColors[4], GetColorAfterExport(models, 4)); TestData.CompareColors(refColors[5], GetColorAfterExport(models, 5)); }