示例#1
0
        public GLForm(OpenTKGraphics graphics)
        {
            this.graphics = graphics;

            InitializeComponent();

            glControl           = new GLControl();
            glControl.BackColor = System.Drawing.Color.Black;
            glControl.Dock      = DockStyle.Fill;
            glControl.TabIndex  = 0;
            glControl.VSync     = false;

            Controls.Add(glControl);

            glControl.Paint    += new PaintEventHandler(glControl_Paint);
            glControl.Disposed += new EventHandler(glControl_Disposed);

            glControl.KeyDown        += new KeyEventHandler(glControl_KeyDown);
            glControl.KeyUp          += new KeyEventHandler(glControl_KeyUp);
            glControl.MouseDown      += new MouseEventHandler(glControl_MouseDown);
            glControl.MouseUp        += new MouseEventHandler(glControl_MouseUp);
            glControl.MouseMove      += new MouseEventHandler(glControl_MouseMove);
            glControl.MouseWheel     += new MouseEventHandler(glControl_MouseWheel);
            glControl.PreviewKeyDown += new PreviewKeyDownEventHandler(glControl_PreviewKeyDown);

            Resize += new EventHandler(GLForm_Resize);
        }
示例#2
0
        public GLForm(OpenTKGraphics graphics)
        {
            _graphics = graphics;

            InitializeComponent();

            //GLControl = new GLControl(new GraphicsMode(new ColorFormat(24), 24, 0, 4));
            GLControl = new GLControl
            {
                BackColor = System.Drawing.Color.Black,
                Dock      = DockStyle.Fill,
                TabIndex  = 0,
                VSync     = true
            };

            Controls.Add(GLControl);

            GLControl.Paint    += new PaintEventHandler(glControl_Paint);
            GLControl.Disposed += new EventHandler(glControl_Disposed);

            GLControl.KeyDown        += new KeyEventHandler(glControl_KeyDown);
            GLControl.KeyUp          += new KeyEventHandler(glControl_KeyUp);
            GLControl.MouseDown      += new MouseEventHandler(glControl_MouseDown);
            GLControl.MouseUp        += new MouseEventHandler(glControl_MouseUp);
            GLControl.MouseMove      += new MouseEventHandler(glControl_MouseMove);
            GLControl.MouseWheel     += new MouseEventHandler(glControl_MouseWheel);
            GLControl.PreviewKeyDown += new PreviewKeyDownEventHandler(glControl_PreviewKeyDown);

            Resize += new EventHandler(GLForm_Resize);
        }
示例#3
0
        static void SetBuffer <T>(T[] vertices, out int bufferId, BufferUsageHint usage = BufferUsageHint.StaticDraw) where T : struct
        {
            int bufferSize;

            // Generate Array Buffer Id
            GL.GenBuffers(1, out bufferId);
            OpenTKGraphics.CheckGLError("GenBuffers");

            // Bind current context to Array Buffer ID
            GL.BindBuffer(BufferTarget.ArrayBuffer, bufferId);
            OpenTKGraphics.CheckGLError("BindBuffer");

            // Send data to buffer
            GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(vertices.Length * Vector3.SizeInBytes), vertices, usage);
            OpenTKGraphics.CheckGLError("BufferData");

            // Validate that the buffer is the correct size
            GL.GetBufferParameter(BufferTarget.ArrayBuffer, BufferParameterName.BufferSize, out bufferSize);
            OpenTKGraphics.CheckGLError("GetBufferParameter");
            if (vertices.Length * Vector3.SizeInBytes != bufferSize)
            {
                throw new ApplicationException("Buffer data not uploaded correctly");
            }

            // Clear the buffer Binding
            GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
            OpenTKGraphics.CheckGLError("BindBuffer");
        }
示例#4
0
        public GLForm(OpenTKGraphics graphics)
        {
            this.graphics = graphics;

            InitializeComponent();

            glControl = new GLControl();
            glControl.BackColor = System.Drawing.Color.Black;
            glControl.Dock = DockStyle.Fill;
            glControl.TabIndex = 0;
            glControl.VSync = false;

            Controls.Add(glControl);

            glControl.Paint += new PaintEventHandler(glControl_Paint);
            glControl.Disposed += new EventHandler(glControl_Disposed);

            glControl.KeyDown += new KeyEventHandler(glControl_KeyDown);
            glControl.KeyUp += new KeyEventHandler(glControl_KeyUp);
            glControl.MouseDown += new MouseEventHandler(glControl_MouseDown);
            glControl.MouseUp += new MouseEventHandler(glControl_MouseUp);
            glControl.MouseMove += new MouseEventHandler(glControl_MouseMove);
            glControl.MouseWheel += new MouseEventHandler(glControl_MouseWheel);
            glControl.PreviewKeyDown += new PreviewKeyDownEventHandler(glControl_PreviewKeyDown);

            Resize += new EventHandler(GLForm_Resize);
        }