如何在 Vs 2008 中运行 OpenTk?

发布于 2024-11-08 18:50:39 字数 960 浏览 0 评论 0原文

我尝试学习OpenTk(旧版Tao Framework),但我不能简单地画线:


using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
using OpenTK.Audio;
using OpenTK.Audio.OpenAL;
using OpenTK.Input;

namespace Test1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void glControl1_Paint(object sender, PaintEventArgs e)
        {
// COORDINATE SYSTEM ALGORITHM:
            GL.ClearColor(1.0f, 1.0f, 1.0f, 1.0f);
            GL.ShadeModel(ShadingModel.Flat);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            glControl1.SwapBuffers();
            GL.Begin(BeginMode.Lines);
            GL.Vertex2(0.0, -1.0);
            GL.Vertex2(0.0, 1.0);
            GL.Vertex2(1.0, 0.0);
            GL.Vertex2(-1.0, 0.0);
            GL.End();
        }

    }
}

我无法观看坐标系。我认为在 vs 2008 中不能运行 open tk 吗?你最好的建议是什么?

i try to learn OpenTk (Old Version Tao Framework) But i can not simple draw Line :


using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
using OpenTK.Audio;
using OpenTK.Audio.OpenAL;
using OpenTK.Input;

namespace Test1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void glControl1_Paint(object sender, PaintEventArgs e)
        {
// COORDINATE SYSTEM ALGORITHM:
            GL.ClearColor(1.0f, 1.0f, 1.0f, 1.0f);
            GL.ShadeModel(ShadingModel.Flat);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            glControl1.SwapBuffers();
            GL.Begin(BeginMode.Lines);
            GL.Vertex2(0.0, -1.0);
            GL.Vertex2(0.0, 1.0);
            GL.Vertex2(1.0, 0.0);
            GL.Vertex2(-1.0, 0.0);
            GL.End();
        }

    }
}

i can not watch coordinate system. i think that can not run open tk in vs 2008? what is your best advise?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

若水微香 2024-11-15 18:50:39

有几点:

  • 这与 Visual C# 2008 无关,它完全能够编译 C# 代码。
  • 您没有设置要绘制线条的颜色。写入 GL.Color3(1,0,0);就在 GL.Begin
  • SwapBuffers 将您刚刚绘制的内容放到屏幕上之前。在您的情况下,这是 glClear = 白屏的结果。您的以下命令将被紧随其后(函数的第一行)发生的 glClearColor 消除。
  • 您需要告诉 OpenGL 如何在空间中变换顶点。 (在这种情况下,它应该有效,但这是一个巧合)。在任何教程中阅读有关 glMatrixMode、glLoadIdentity、glOrtho/gluLookAt、glTranslate 的内容(基本上是:matrixmode(PROJECTION); loadidentity; glOrtho(-1,1,-1,1,-1,1);matrixmode(MODELVIEW);loadIdentity;translate (如你所愿))

Several things :

  • This has nothing to do with Visual C# 2008, which is perfectly capable of compiling C# code.
  • You do not set the color in which you want to paint the line. Write GL.Color3(1,0,0); just before GL.Begin
  • SwapBuffers puts what you've just drawn onscreen. In your case, it is the result of glClear = a white screen. Your following commands are anihilated by the glClearColor that happens just after (1rst line of your function)
  • You need to tell OpenGL how to transform your vertices in space. ( In this case, it should work, but that's a coincidence ). Read about glMatrixMode, glLoadIdentity, glOrtho/gluLookAt, glTranslate in any tutorial (basically : matrixmode(PROJECTION); loadidentity; glOrtho(-1,1,-1,1,-1,1);matrixmode(MODELVIEW);loadIdentity;translate(asYouWish) )
转身以后 2024-11-15 18:50:39

它将在VS2008中运行。

这里有一些很好的 OpenTK 起始代码,可引导您完成 Winform + GLControl 的正确设置和一些简单的渲染。 (应该足以让你理清Calvin指出的各种问题了。)

http:// /www.opentk.com/doc/chapter/2/glcontrol

It will run in VS2008.

There's some good OpenTK starting code here that walks you through proper setup of a Winform + GLControl and some simple rendering. (It should be enough to let you sort out the various issues Calvin pointed out.)

http://www.opentk.com/doc/chapter/2/glcontrol

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文