VB.NET環境でOpenGLを実行する方法を学びましたが、OpenTKを推奨するOpenTKの方が推奨されています使用してみてください。VB.NETのOpenTK(OpenGL)
私はこの新しいことから、もっと複雑なものを作る前にすべてを理解できるように、単純なボックス、三角形、または何かを実際に描画しようとしています。私はこれまでこれまでに失敗していましたので、私がこれまで行ってきたことを順番にリストアップし、ここで誰かがそれを訂正したり、単純な形を描くことができる新しい例を提供するのを助けてくれることを願っています。
1)Iは、I)IはOpenTK.dllとOpenTK.Compatibility.dll
3への参照を追加した新しいプロジェクトでopentk-2010-10-06.exe
2)を使用してOpenTKをインストールコントロール(opentk.glcontrol.dll)を追加しました
4)実際のコントロールをフォームに追加しました。オンラインいくつかの例を使用して
私は残りの部分を追加しました:私は私の書いた
Dim _STARTED As Boolean = False
7):私のグローバル変数
Imports OpenTK
Imports OpenTK.GLControl
Imports OpenTK.Platform
Imports OpenTK.Graphics.OpenGL
Imports System.Math
6):
5)私はで私の参照を書きましたイベント:
プライベートサブGlControl1_Resize(ByVal送信者オブジェクト、System.EventArgsとしてByVal送信者)H andles GlControl1.Resize _STARTED = Trueの ResizeGL() End Subの
Private Sub ResizeGL()
GL.Viewport(0, 0, GlControl1.Width, GlControl1.Height)
GL.MatrixMode(MatrixMode.Projection) ' Select The Projection Matrix
GL.MatrixMode(MatrixMode.Modelview) ' Select The Modelview Matrix
GL.LoadIdentity() ' Reset The Modelview Matrix
End Sub
Public Sub ViewPerspective() ' Set Up A Perspective View
GL.MatrixMode(MatrixMode.Projection) ' Select Projection
GL.LoadIdentity() ';
Dim perspective1 As Matrix4 = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, _
CSng((GlControl1.Width)/(GlControl1.Height)), 0.1, 1000)
GL.LoadMatrix(perspective1)
GL.MatrixMode(MatrixMode.Modelview) ' Select The Modelview Matrix
GL.LoadIdentity() ' Reset The Matrix
GL.Enable(EnableCap.DepthTest) ' This doesnt need to be here but.. If your using the Z buffer.. It dont hurt.
End Sub
Public Sub ViewOrtho()
GL.MatrixMode(MatrixMode.Projection) 'Select Projection
GL.LoadIdentity() ' Reset The Matrix
GL.Ortho(0, GlControl1.Width, -GlControl1.Height, 0, 0.1, 100.0) ' Select Ortho Mode
GL.MatrixMode(MatrixMode.Modelview) ' Select Modelview Matrix
GL.LoadIdentity() ' Reset The Matrix
End Sub
8)最後に、私はそれらを呼び出すことを試みた:表示なしで上記の結果
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ViewOrtho()
End Sub
ので、任意の助けを希望大変感謝します。
完全な解決策がわからなくても、どんな応答でもいいでしょう。