我使用 OpenTK 和 MonoDevelop。我使用 GLcontext
GLcontrol glControl1 = new GLControl();
我发现错误:
'GLControl' does not exist in the namespace 'OpenTK'
我将 OpenTK.dll、OpenTK.GLControl.dll、OpenTK.dll.config 添加到我的项目中。
有任何想法吗。
我使用 OpenTK 和 MonoDevelop。我使用 GLcontext
GLcontrol glControl1 = new GLControl();
我发现错误:
'GLControl' does not exist in the namespace 'OpenTK'
我将 OpenTK.dll、OpenTK.GLControl.dll、OpenTK.dll.config 添加到我的项目中。
有任何想法吗。
确保为您的架构使用正确的库。因此,对于 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);
}
}
}