我试图让OpenGL4Net在Microsoft Visual Studio Comunity 2015中使用C#。
我已下载此文件: https://sourceforge.net/projects/ogl4net/files/Rev.%2037/x64/
并按照以下说明操作: https://sourceforge.net/p/ogl4net/wiki/Tutorials/
首先使用控制台应用程序,然后再使用Windows窗体应用程序启动,因为它似乎将使用窗口而不是自己创建窗口。
到目前为止,已经添加了各种refrances,form1.cs不受影响,Program.cs看起来像这样:
using System;
using System.Collections.Generic;
//using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenGL4NET;
namespace pads2
{
class Program : Form
{
RenderingContext rc;
static void Main(string[] args)
{
Program program = new Program();
program.Init();
Application.Run(program);
}
// required for open GL
void Init()
{
rc = RenderingContext.CreateContext(this);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
}
void Render()
{
gl.Clear(GL.COLOR_BUFFER_BIT);
// here is the right place to draw all your scene
rc.SwapBuffers();
}
// change window size
protected override void OnSizeChanged(EventArgs e)
{
gl.Viewport(0, 0, ClientSize.Width, ClientSize.Height);
// projection matrix may also need adjusting
}
// required for open GL
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case Windows.WM_PAINT: Render(); break;
default: base.WndProc(ref m); break;
}
}
}
}
/*
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
/*
编译器似乎对代码末尾的注释不满意,但主要问题是我收到了错误:
类型或命名空间名称&#39; WM_PAINT&#39;命名空间中不存在&#39; Windows&#39; (你错过了一个程序集引用吗?)
我无法在线找到WM_PAINT所需的参考资料,包括System.Windows的参考资料。
问:我如何解决这个问题,我是否正确设置了这个?
答案 0 :(得分:0)
WM_PAINT
在其MSDN条目中有详细描述:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd145213(v=vs.85).aspx
但该文章省略了其POD值,即整数常数&#34; 15&#34;。
答案 1 :(得分:0)
如果此问题较早,该示例忘记添加引用,则该案例应为:
case OpenGL4NET.Windows.WM_PAINT: Render(); break;
(如果rep也允许我发表评论)