2

我使用 OpenTK 和 MonoDevelop。我使用 GLcontext

GLcontrol glControl1 = new GLControl();

我发现错误:

'GLControl' does not exist in the namespace 'OpenTK'

我将 OpenTK.dll、OpenTK.GLControl.dll、OpenTK.dll.config 添加到我的项目中。

有任何想法吗。

4

1 回答 1

1

确保为您的架构使用正确的库。因此,对于 x86,请确保您拥有 x86 库。对于 x64,请确保您拥有 x64 库。确保将启动项目的架构设置为使用配置管理器匹配库的架构。在 64 位机器上,它通常默认设置为“任何 CPU”的组合。将此更改为正确的平台。

这就是我这样做的方式:创建一个新的测试风形应用程序。我想做一个 64 位应用程序,所以我使用配置管理器将我的启动应用程序设置为 x64。使用 NuGet 安装 opentk.glcontrol。它会自动将 OpenTK 解析为依赖项并安装它。

这是一些添加控件并将背景颜色设置为天蓝色的代码:

using OpenTK;
using OpenTK.Graphics.OpenGL4;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private OpenTK.GLControl _glControl;
        public Form1()
        {
            InitializeComponent();

            _glControl = new OpenTK.GLControl();
            _glControl.Dock = DockStyle.Fill;
            this.Controls.Add(_glControl);

            _glControl.Load += control_Load;
            _glControl.Paint += control_Paint;

        }

        private void control_Paint(object sender, PaintEventArgs e)
        {
            _glControl.SwapBuffers();
        }

        private void control_Load(object sender, EventArgs e)
        {
            GL.ClearColor(Color.SkyBlue);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
        }
    }
}
于 2014-02-19T07:26:44.857 回答