コード例 #1
0
ファイル: ImagesModel.cs プロジェクト: mate1983/ImageViewer
            public void Scale(Size3 size, MitchellNetravaliScaleShader shader, ScalingModel scaling)
            {
                var tmp = shader.Run((TextureArray2D)Image, size, scaling);

                Image.Dispose();
                Image = tmp;
            }
コード例 #2
0
ファイル: SharedModel.cs プロジェクト: lypvc/ImageViewer
 public SharedModel()
 {
     Upload      = new UploadBuffer(256); // big enough for 4 matrix4
     Download    = new DownloadBuffer(256);
     ScaleShader = new MitchellNetravaliScaleShader(QuadShader, Upload);
     Convert     = new ConvertFormatShader(QuadShader, Upload);
 }
コード例 #3
0
ファイル: SharedModel.cs プロジェクト: ywscr/ImageViewer
 public SharedModel()
 {
     Upload        = new UploadBuffer(256); // big enough for 4 matrix4
     Download      = new DownloadBuffer(256);
     ScaleShader   = new MitchellNetravaliScaleShader(QuadShader, Upload);
     Convert       = new ConvertFormatShader(QuadShader, Upload);
     Sync          = new SyncQuery();
     LinearSampler = CreateSamplerState(true);
     PointSampler  = CreateSamplerState(false);
 }
コード例 #4
0
        public void MitchelXYScale()
        {
            var shader   = new MitchellNetravaliScaleShader(new QuadShader(), new UploadBuffer(256));
            var checkers = new TextureArray2D(IO.LoadImage(TestData.Directory + "sphere.png"));

            var res = shader.Run(checkers, new Size3(20, 40));

            var reference = new TextureArray2D(IO.LoadImage(TestData.Directory + "sphere_scaled.png"));

            // compare with gimp reference
            TestData.CompareColors(reference.GetPixelColors(0, 0), res.GetPixelColors(0, 0));
        }
コード例 #5
0
        public void MitchelUpscale()
        {
            var models   = new Models(1);
            var shader   = new MitchellNetravaliScaleShader(new QuadShader(), new UploadBuffer(256));
            var checkers = new TextureArray2D(IO.LoadImage(TestData.Directory + "sphere.png"));

            var res = shader.Run(checkers, new Size3(62, 31), models.Scaling);

            var reference = new TextureArray2D(IO.LoadImage(TestData.Directory + "sphere_up.png"));

            // compare with gimp reference
            TestData.CompareColors(reference.GetPixelColors(LayerMipmapSlice.Mip0), res.GetPixelColors(LayerMipmapSlice.Mip0));
        }
コード例 #6
0
ファイル: ImagesModel.cs プロジェクト: mate1983/ImageViewer
 public ImagesModel(MitchellNetravaliScaleShader scaleShader)
 {
     this.scaleShader = scaleShader;
     Images           = images;
 }