OpenTK (OpenGL) in VB .NET

Ich versuche zu lernen, wie man openGL in VB .NET-Umgebung, und es scheint, dass das Tao-framework oder OpenTK wird empfohlen, mit OpenTK, die eine höhere Empfehlung, so dass ist, was ich beschloss zu versuchen, mit.

Da bin ich ganz neu in diesem, ich bin versucht, ziehen Sie einfach eine einfache box, Dreieck, oder etwas wirklich so ist, dass ich es alle verstehen können, bevor Sie mehr komplexe Dinge. Ich habe schon erfolglos auf diese so weit, so werde ich die Liste in der Reihenfolge, was ich bisher getan habe und ich hoffe jemand hier kann mir helfen, korrigieren Sie oder geben Sie ein neues Beispiel nur so kann ich zeichnen Sie eine einfache Form.

1) habe ich installiert, OpenTK mit opentk-2010-10-06.exe

2) In einem neuen Projekt Hinzugefügt habe ich die Verweise auf OpenTK.dll und OpenTK.Compatibility.dll

3) ich habe die control - (opentk.glcontrol.dll)

4) ich habe die eigentliche Kontrolle auf meiner form.

Anhand einiger Beispiele online habe ich den rest:

5) schrieb ich meine Referenzen in:

Imports OpenTK
Imports OpenTK.GLControl
Imports OpenTK.Platform
Imports OpenTK.Graphics.OpenGL
Imports System.Math

6) Meine Globale variable:

 Dim _STARTED As Boolean = False

7) schrieb ich meine events:

Private Sub GlControl1_Resize(ByVal sender As Object, ByVal e Als System.EventArgs) Griffe GlControl1.Größe
_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) Schließlich versuchte ich, Sie zu nennen:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ViewOrtho()
End Sub

Die oben genannten Ergebnisse keine Anzeige, so dass jede Hilfe wäre sehr geschätzt werden.

Selbst wenn Sie nicht wissen, eine vollwertige Lösung, jede Antwort, möglichen schön.

InformationsquelleAutor Eric F | 2012-02-17
Schreibe einen Kommentar