Example #1
0
        public void ShowSettings()
        {
            var  setting = new SurfaceSettings(MyCharge);
            bool?result  = setting.ShowDialog();

            if (result == true)
            {
                MyCharge = new ChargeDensity(setting.ChrDensity);
                MainWindow.Instance.Calculation();
                CheckColor();
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            DriverConfiguration.Initialise("JankWorks.Glfw", "JankWorks.OpenGL");

            var windowsettings = WindowSettings.Default;

            var surfacesettings = new SurfaceSettings()
            {
                ClearColour = Colour.Black,
                Size        = windowsettings.DisplayMode.Viewport.Size
            };

            using var window = Window.Create(windowsettings);
            using var device = GraphicsDevice.Create(surfacesettings, window);



            using var buffer = device.CreateVertexBuffer <Vertex>();
            buffer.Usage     = BufferUsage.Static;

            Vertex[] vertices =
            {
                new Vertex(new Vector2(-0.5f, -0.5f), Colour.Green),
                new Vertex(new Vector2(0.0f,   0.5f), Colour.Red),
                new Vertex(new Vector2(0.5f,  -0.5f), Colour.Blue),
            };

            buffer.Write(vertices);



            using var layout = device.CreateVertexLayout();

            var positionAttrib = new VertexAttribute()
            {
                Format = VertexAttributeFormat.Vector2f,
                Stride = Marshal.SizeOf <Vertex>(),
                Offset = 0,
                Index  = 0,
                Usage  = VertexAttributeUsage.Position
            };

            var colourAttrib = new VertexAttribute()
            {
                Format = VertexAttributeFormat.Vector3f,
                Stride = Marshal.SizeOf <Vertex>(),
                Offset = Marshal.SizeOf <Vector2>(),
                Index  = 1,
                Usage  = VertexAttributeUsage.Colour
            };

            layout.SetAttribute(positionAttrib);
            layout.SetAttribute(colourAttrib);



            using var shader = device.CreateShader(ShaderFormat.GLSL, VertexSource, FragSource);
            shader.SetVertexData(buffer, layout);



            window.OnKeyPressed += (keypress) =>
            {
                if (keypress.Key == Key.Enter)
                {
                    window.Close();
                }
            };



            window.Show();

            while (window.IsOpen)
            {
                window.ProcessEvents();

                device.Clear();

                device.DrawPrimitives(shader, DrawPrimitiveType.Triangles, 0, 3);

                device.Display();
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            DriverConfiguration.Initialise("JankWorks.Glfw", "JankWorks.OpenGL", "JankWorks.FreeType", "JankWorks.DotNet", "JankWorks.OpenAL");

            var windowsettings = WindowSettings.Default;

            windowsettings.DisplayMode = new DisplayMode(1024, 768, 32, 60);
            windowsettings.VSync       = true;
            windowsettings.Style       = WindowStyle.Windowed;

            var surfacesettings = new SurfaceSettings()
            {
                ClearColour = Colour.Black,
                Size        = windowsettings.DisplayMode.Viewport.Size
            };

            using var window   = Window.Create(windowsettings);
            using var graphics = GraphicsDevice.Create(surfacesettings, window);
            using var audio    = AudioDevice.GetDefault();


            var  tests          = Runner.GetTestClasses().GetEnumerator();
            var  testsRemaining = tests.MoveNext();
            Test test           = null;

            if (testsRemaining)
            {
                test = (Test)Activator.CreateInstance(tests.Current);
                test.Setup(graphics, audio, window);
            }

            window.OnKeyReleased += (ke) =>
            {
                if (ke.Key == Key.Escape)
                {
                    window.Close();
                }
                else if (ke.Key == Key.Enter)
                {
                    testsRemaining = tests.MoveNext();

                    if (testsRemaining)
                    {
                        test?.Dispose(graphics, audio, window);
                        test = (Test)Activator.CreateInstance(tests.Current);
                        test.Setup(graphics, audio, window);
                        GC.Collect();
                    }
                }
            };

            window.Show();

            while (window.IsOpen)
            {
                window.ProcessEvents();

                graphics.Clear();

                test?.Draw(graphics);

                graphics.Display();
            }

            window.Hide();
        }
Example #4
0
 GraphicsDevice IGraphicsDriver.CreateGraphicsDevice(SurfaceSettings settings, IRenderTarget renderTarget) => throw this;
Example #5
0
 public GraphicsDevice CreateGraphicsDevice(SurfaceSettings settings, IRenderTarget renderTarget)
 {
     renderTarget.Activate();
     Functions.Init();
     return(new GLGraphicsDevice(settings, renderTarget));
 }
Example #6
0
 public static GraphicsDevice Create(SurfaceSettings settings, IRenderTarget renderTarget)
 {
     return(DriverConfiguration.Drivers.graphicsApi.CreateGraphicsDevice(settings, renderTarget));
 }
Example #7
0
 public abstract TextureSurface CreateTextureSurface(SurfaceSettings settings);