Esempio n. 1
0
        public override void Do(IDemoChartControl chartControl)
        {
            // Load bitmap image.
            var colorTextureSource = new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Demo.Features;component/Resources/bump01.bmp"));
            float ratio             = (float)colorTextureSource.PixelHeight / colorTextureSource.PixelWidth;

            // Create default reader for Wpf bitmap sources.
            var reader = new BitmapSourceRasterImage2DReader(colorTextureSource);

            // Create bump reader.
            var bumpReader = new BitmapSourceRasterImage2DReader(bumpTextureSource);

            // Create geometry for both raster data-s.
            var geometry = new RectTextureGeometry
            {
                Origin     = Vector3F.Zero,
                DirectionX = Vector3F.UnitX,
                DirectionY = Vector3F.UnitY,
                Size       = new Vector2F(1f, ratio)
            };

            // Create non-bump raster data object.
            var rasterData = new RasterData
            {
                // Set image interpolation type.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Set image reader.
                Reader = reader,
                // Set name.
                Name = "Default",
                // Set geometry
                Geometry = geometry
            };

            // Create bump render data object.
            var bumpRasterData = new RasterData
            {
                // Set image interpolation type.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Set image reader.
                Reader = reader,
                // Set bump image reader.
                BumpReader = bumpReader,
                // Set name.
                Name = "Bump",
                // Specify some material custom settings.
                Material = new RenderMaterial(0.25f, 0.6f, 0.6f, 0f, 0f),
                // Set geometry
                Geometry = geometry
            };

            // Setup bump raster data offset matrix.
            bumpRasterData.Transform = Matrix4F.Translation(1.25f, 0, 0);

            // Setup chart data source.
            chartControl.DataSource = new RenderData[] { rasterData, bumpRasterData };
        }
Esempio n. 2
0
        public override void Do(IDemoChartControl chartControl)
        {
            // Load bitmap image.
            var bitmapSource =
                new BitmapImage(new Uri(@"pack://application:,,,/Demo.Features;component/Resources/Atomicus.jpg"));
            float ratio = (float)bitmapSource.PixelHeight / bitmapSource.PixelWidth;

            // Create default reader for Wpf bitmap sources.
            var reader = new BitmapSourceRasterImage2DReader(bitmapSource);

            // Create geometry.
            var geometry = new RectTextureGeometry
            {
                Origin     = Vector3F.Zero,
                DirectionX = Vector3F.UnitX,
                DirectionY = Vector3F.UnitY,
                Size       = new Vector2F(1f, ratio)
            };

            // Create raster data object.
            var rasterData = new RasterData
            {
                // Set image interpolation type.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Set image reader.
                Reader = reader,
                // Set name.
                Name = "Image",
                // Set geometry.
                Geometry = geometry
            };

            // Setup some chart view settings.
            chartControl.ContextView.Mode2D = true;
            chartControl.ContextView.Camera2D.Projection = Projection2DTypes.XPosYPos;

            // Setup chart data source.
            chartControl.DataSource = rasterData;
        }
Esempio n. 3
0
        public override void Do(IDemoChartControl chartControl)
        {
            // We take the same data as for surfaces for demo purposes, in current case it contains redundant x, y values.
            Vector3F[] xyzPoints = DemoHelper.GenerateSinPoints(Resolution);

            // Extract only values from z array.
            float[] values = DemoHelper.ExtractZValues(xyzPoints);

            // Create geometry.
            var geometry = new RectTextureGeometry
            {
                Origin     = Vector3F.Zero,
                DirectionX = Vector3F.UnitX,
                DirectionY = Vector3F.UnitY,
                Size       = new Vector2F(1f, 1f)
            };

            var rasterData = new ValueRasterData
            {
                // Linear interpolation.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Float data reader specification (values, data stride/width and value axis bounds).
                Reader = new FloatIntensityImage2DReader(values, Resolution, new OneAxisBounds(-1f, 1f)),
                // Set geometry.
                Geometry = geometry,
                // Set name.
                Name = "Surface"
            };

            // Setup view settings.
            chartControl.ContextView.Mode2D = true;
            chartControl.ContextView.Camera2D.Projection = Projection2DTypes.XPosYPos;

            // Set chart data source.
            chartControl.DataSource = rasterData;
        }