簡體   English   中英

如何在Vs 2008中運行OpenTk?

[英]How to run OpenTk in Vs 2008?

我嘗試學習OpenTk(舊版Tao框架),但我不能簡單地畫出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();
        }

    }
}

我看不到坐標系。 我認為無法在vs 2008中運行open tk? 您最好的建議是什么?

幾件事:

  • 這與完全能夠編譯C#代碼的Visual C#2008沒有任何關系。
  • 您沒有設置要繪制線條的顏色。 寫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 (如你所願) )

它將在VS2008中運行。

這里有一些不錯的OpenTK起始代碼,可指導您正確設置Winform + GLControl和一些簡單的呈現。 (足以讓您理清卡爾文指出的各種問題。)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM