yakinlah bahwa setiap langkah besar selalu diawali dengan langkah kecil yang konsisten

Jumat, 13 Juli 2012

Menggambar Titik dengan OpenGL dan Visual Basic 6.0

Diposting oleh Rissa di 04.56
Untuk mengilustrasikan penerapan algoritma penggambaran titik, kita dapat melakukan beberapa langkah berikut :
1.      Jalankan Visual Basic 6.0
2.      Tambahkan Module baru dengan memilih menu Project > Add Module
3.      Setelah muncul halaman Module, maka tulislah kode program sebagai berikut :

Sub EnableOpenGL(ghDC As Long)
Dim pfd As PIXELFORMATDESCRIPTOR
   
    ZeroMemory pfd, Len(pfd)
    pfd.nSize = Len(pfd)
    pfd.nVersion = 1
    pfd.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER
    pfd.iPixelType = PFD_TYPE_RGBA
    pfd.cColorBits = 24
    pfd.cDepthBits = 32
    pfd.iLayerType = PFD_MAIN_PLANE
   
    PixFormat = ChoosePixelFormat(ghDC, pfd)
    If PixFormat = 0 Then GoTo ee
    SetPixelFormat ghDC, PixFormat, pfd
    hrc = wglCreateContext(ghDC)
    wglMakeCurrent ghDC, hrc
   
Exit Sub
ee: MsgBox "Nelze nastavit parametry pro zobrazení grafiky!"
    End
End Sub

Sub DisableOpenGL()
    wglMakeCurrent 0, 0
    wglDeleteContext hrc
End Sub

4.      Lalu menambahkan Form baru dengan cara memilih menu Project > Add Form
5.  Setelah muncul form baru pada halaman Visual Basic 6.0 maka tambahkan objek CommandButton1 dan CommandButton2 pada halaman Form1.
6.      Atur Properties objek tersebut seperti berikut :
CommandButton1 
CommandButton2
Sehingga tampilan form seperti pada gambar berikut :
7.      Klik 2x pada Form1, setelah muncul halaman Code Editor, maka tulislah kode program sebagai berikut :
Sub INISIALISASI()
'========== Inisialisasi ==========
    EnableOpenGL Me.hDC

    hrc = wglCreateContext(hDC)
    wglMakeCurrent hDC, hrc
   
    'Inisilisasi Koordinat D2
    xmin = -20: ymin = -20
    xmax = 20: ymax = 20
    gluOrtho2D xmin, xmax, ymin, ymax
   
    glClearColor 0, 0, 0, 0
    glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT
    glClear clrColorBufferBit
    glMatrixMode GL_PROJECTION
    glLoadIdentity
End Sub

Sub Bersihkan_Layar()
    glClearColor 1, 1, 1, 0
    glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT
End Sub

Sub Tampilkan()
    glFlush
    SwapBuffers Me.hDC
End Sub

8.      Klik 2x pada CommandButton1, setelah muncul halaman Code Editor, maka tulislah kode program sebagai berikut :
Private Sub Command1_Click()
    Call INISIALISASI
    Call Bersihkan_Layar
End Sub

9.      Klik 2x pada CommandButton2, setelah muncul halaman Code Editor, maka tulislah kode program sebagai berikut :
Private Sub Command2_Click()
Dim titik_x As Single
Dim titik_y As Single

titik_x = 0
titik_y = 0

   
glColor3f 0, 0, 0
glBegin bmPoint
glVertex2f titik_x, titik_y
            
        glEnd

    Call Tampilkan
End Sub

10.  Eksekusi program diatas dengan memilih menu Run > Start atau menekan tombol F5. Sehingga akan mumcul tampilan sebagai berikut :





0 komentar:

Posting Komentar

 

Coretan Rissa Template by Ipietoon Blogger Template | Gift Idea