我使用OpenTK和MonoDevelop。 我使用GLcontext
GLcontrol glControl1 = new GLControl();
我发现错误:
'GLControl' does not exist in the namespace 'OpenTK'
我将OpenTK.dll,OpenTK.GLControl.dll,OpenTK.dll.config添加到我的项目中。
任何想法。
答案 0 :(得分:1)
确保为您的架构使用正确的库。所以对于x86,请确保您拥有x86库。对于x64,请确保您拥有x64库。确保将启动项目的体系结构设置为体系结构,以使用配置管理器匹配库。在64位机器上,它通常默认设置为“任何CPU”的组合。将其更改为正确的平台。
这就是我这样做的方式: 创建一个新的测试windforms应用程序。我想做一个64位应用程序,所以我使用配置管理器将我的启动应用程序设置为x64。使用NuGet安装opentk.glcontrol。它会自动将OpenTK解析为依赖项并安装它。
以下是添加控件并将背景颜色设置为skyblue的一些代码:
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);
}
}
}