public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Game",
				"Smart Sweepers",
				"Shows off a cool c# neral net framwork.",
				640,
				480);

			return appWidgetInfo;
		}
        public void CreateWidgetAndRunInWindow(SystemWindow.PixelTypes bitDepth = SystemWindow.PixelTypes.Depth32, RenderSurface surfaceType = RenderSurface.Bitmap)
        {
            AppWidgetInfo appWidgetInfo = GetAppParameters();
            SystemWindow  systemWindow  = new SystemWindow(appWidgetInfo.width, appWidgetInfo.height);

            systemWindow.PixelType = bitDepth;
            systemWindow.Title     = appWidgetInfo.title;
            if (surfaceType == RenderSurface.OpenGL)
            {
                systemWindow.UseOpenGL = true;
            }
            systemWindow.AddChild(NewWidget());
            systemWindow.ShowAsSystemWindow();
        }
Exemple #3
0
		public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
                "Bitmap",
                "Gaussian and Stack Blur",
                @"Now you can blur rendered images rather fast! There two algorithms are used: 
Stack Blur by Mario Klingemann and Fast Recursive Gaussian Filter, described 
here and here (PDF). The speed of both methods does not depend on the filter radius. 
Mario's method works 3-5 times faster; it doesn't produce exactly Gaussian response, 
but pretty fair for most practical purposes. The recursive filter uses floating 
point arithmetic and works slower. But it is true Gaussian filter, with theoretically 
infinite impulse response. The radius (actually 2*sigma value) can be fractional 
and the filter produces quite adequate result.",
                                           300,
                                           200);

            return appWidgetInfo;
        }
        public AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "Other",
            "Matter Control",
            "A RepRap printer controler from MatterHackers",
            800,
            600);

            return appWidgetInfo;
        }
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Vector",
				"Line Paterns",
				"AGG Example. Drawing Lines with Image Patterns",
				500,
				450);

			return appWidgetInfo;
		}
Exemple #6
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Vector",
				"Trans Curve1",
				"AGG has a gray-scale renderer that can use any 8-bit color channel of an RGB or RGBA frame buffer. Most likely it will be used to draw gray-scale images directly in the alpha-channel.",
				600,
				600);

			return appWidgetInfo;
		}
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Bitmap",
				"Image Transformations with Resampling",
				"The demonstration of image transformations with resampling. You can see the difference in quality between regular image transformers and the ones with resampling. Of course, image tranformations with resampling work slower because they provide the best possible quality.",
				600,
				600);

			return appWidgetInfo;
		}
Exemple #8
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Bitmap",
			"Flood Fill",
			"Demonstration of a flood filling algorithm.",
			600,
			400);

			return appWidgetInfo;
		}
		public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "Other",
            "G Code Visualizer",
            "A sample application to visualize the g-code created for a rep-rap type FDM machine.",
            600,
            400);

            return appWidgetInfo;
        }
Exemple #10
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Vector",
			"Lion Filled",
			"Affine transformer, and basic renderers. You can rotate and scale the “Lion” with the"
					+ " left mouse button. Right mouse button adds “skewing” transformations, proportional to the “X” "
					+ "coordinate. The image is drawn over the old one with a cetrain opacity value. Change “Alpha” "
					+ "to draw funny looking “lions”. Change window size to clear the window.",
			512,
			400);

			return appWidgetInfo;
		}
Exemple #11
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Vector",
				"Gouraud Mesh Shading",
				"Yet another example that demonstrates the power of compound shape rasterization. Here we create a "
				+ "mesh of triangles and render them in one pass with multiple Gouraud shaders (span_gouraud_rgba). "
				+ "The example demonstrates perfect Anti-Aliasing and perfect triangle stitching (seamless edges) at the same time.",
				400,
				400);

			return appWidgetInfo;
		}
Exemple #12
0
		public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "Game",
            "Moms Solitaire",
            "A port of the Forth solitaire game that my cousin Marlin Eller wrote for his mom on mothers day in 1989.",
            691,
            390);

            return appWidgetInfo;
        }
Exemple #13
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Vector",
				"Perspective Rendering",
				"Perspective and bilinear transformations. In general, these classes can transform an arbitrary quadrangle "
			+ " to another arbitrary quadrangle (with some restrictions). The example demonstrates how to transform "
			+ "a rectangle to a quadrangle defined by 4 vertices. You can drag the 4 corners of the quadrangle, "
			+ "as well as its boundaries. Note, that the perspective transformations don't work correctly if "
			+ "the destination quadrangle is concave. Bilinear thansformations give a different result, but "
			+ "remain valid with any shape of the destination quadrangle.",
				600,
				600);

			return appWidgetInfo;
		}
Exemple #14
0
        public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
                "Vector",
                "Anit-Alias Test",
                "A test of Anti-Aliasing the same as in http://homepage.mac.com/arekkusu/bugs/invariance",
                480,
                350);

            return appWidgetInfo;
        }
Exemple #15
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Bitmap",
				"Font Hinter",
				@"",
				440,
				330);

			return appWidgetInfo;
		}
        public AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "Other",
            "Matter CAD",
            "The 3D modeling system for MatterHackers' BuildBot.",
            800,
            600);

            return appWidgetInfo;
        }
Exemple #17
0
        public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
                "Vector",
                "Rounded Rect",
                "Yet another example dedicated to Gamma Correction. If you have a CRT monitor: The rectangle looks bad - "
                + " the rounded corners are thicker than its side lines. First try to drag the “subpixel offset” control "
                + "— it simply adds some fractional value to the coordinates. When dragging you will see that the rectangle"
                + "is 'blinking'. Then increase 'Gamma' to about 1.5. The result will look almost perfect — the visual "
                + "thickness of the rectangle remains the same. That's good, but turn the checkbox 'White on black' on — what "
                + "do we see? Our rounded rectangle looks terrible. Drag the 'subpixel offset' slider — it's blinking as hell."
                + "Now decrease 'Gamma' to about 0.6. What do we see now? Perfect result! If you use an LCD monitor, the good "
                + "value of gamma will be closer to 1.0 in both cases — black on white or white on black. There's no "
                + "perfection in this world, but at least you can control Gamma in Anti-Grain Geometry :-).",
                600,
                400);

            return appWidgetInfo;
        }
Exemple #18
0
        public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
                "Bitmap",
                "Clipping to multiple rectangle regions",
                @"",
                                           512,
                                           400);

            return appWidgetInfo;
        }
Exemple #19
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Bitmap",
				"Image Rotate & Scale",
				@"This is the first example of the image transformation algorithms.
The example allows you to rotate and scale the image with respect to
its center. Also, the image is scaled when resizing the window.",
										   350,
										   400);

			return appWidgetInfo;
		}
Exemple #20
0
		public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "Other",
            "A Simple Ray Tracer test",
            "A sample application to show the current capabilities of the RayTracer.",
            150,
            100);

            return appWidgetInfo;
        }
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Clipping",
			"PolygonClipping",
			"Demonstration of general polygon clipping using the clipper library.",
			640,
			520);

			return appWidgetInfo;
		}
Exemple #22
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
				"Vector",
				"Gouraud Colors",
				"Gouraud shading. It's a simple method of interpolating colors in a triangle. There's no 'cube' drawn"
				+ ", there're just 6 triangles. You define a triangle and colors in its vertices. When rendering, the "
				+ "colors will be linearly interpolated. But there's a problem that appears when drawing adjacent "
				+ "triangles with Anti-Aliasing. Anti-Aliased polygons do not 'dock' to each other correctly, there "
				+ "visual artifacts at the edges appear. I call it “the problem of adjacent edges”. AGG has a simple"
				+ " mechanism that allows you to get rid of the artifacts, just dilating the polygons and/or changing "
				+ "the gamma-correction value. But it's tricky, because the values depend on the opacity of the polygons."
				+ " In this example you can change the opacity, the dilation value and gamma. Also you can drag the "
				+ "Red, Green and Blue corners of the “cube”.",
				400,
				320);

			return appWidgetInfo;
		}
Exemple #23
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Vector",
			"Zoomed Anti-Aliasing",
			"Demonstration of the Anti-Aliasing principle with Subpixel Accuracy. The triangle "
					+ "is rendered two times, with its “natural” size (at the bottom-left) and enlarged. "
					+ "To draw the enlarged version there is a special scanline renderer written (see "
					+ "class renderer_enlarged in the source code). You can drag the whole triangle as well "
					+ "as each vertex of it. Also change “Gamma” to see how it affects the quality of Anti-Aliasing.",
			600,
			400);

			return appWidgetInfo;
		}
Exemple #24
0
		public override AppWidgetInfo GetAppParameters()
        {
            AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
            "GUI",
            "GUI Tester",
            "Shows a tabed page of the windows controls that are available in ",
            800,
            600);

            return appWidgetInfo;
        }
Exemple #25
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Vector",
			"Gradients",
			"This �sphere� is rendered with color gradients only. Initially there was an idea to compensate so called Mach Bands effect. To do so I added a gradient profile functor. Then the concept was extended to set a color profile. As a result you can render simple geometrical objects in 2D looking like 3D ones. In this example you can construct your own color profile and select the gradient function. There're not so many gradient functions in AGG, but you can easily add your own. Also, drag the �gradient� with the left mouse button, scale and rotate it with the right one.",
			512,
			400);

			return appWidgetInfo;
		}
Exemple #26
0
		public override AppWidgetInfo GetAppParameters()
		{
			AppWidgetInfo appWidgetInfo = new AppWidgetInfo(
			"Vector",
			"Lion Outline",
			"The example demonstrates Maxim's algorithm of drawing Anti-Aliased lines. " +
			"The algorithm works about 2.5 times faster than the scanline rasterizer but has" +
			" some restrictions, particularly, line joins can be only of the �miter� type, " +
			"and when so called miter limit is exceded, they are not as accurate as generated " +
			"by the stroke converter (conv_stroke). To see the difference, maximize the window" +
			" and try to rotate and scale the �lion� with and without using the scanline " +
			"rasterizer (a checkbox at the bottom). The difference in performance is obvious.",
			512,
			512);

			return appWidgetInfo;
		}