Sabtu, 07 Januari 2017

Membuat Bentuk 3D dengan Menggunakan Basic4GL

Berikut Langkah Untuk Membuat Bentuk 3D dengan menggunakan Basic4GL :

1. Download Program Basic4GL, di internet banyak, atau download di http://www.basic4gl.net
2. Copykan coding di bawah ini, dan kemudian jalankan programnya.

'variabel untuk posisi kamera
Dim pcamx# = 0
Dim pcamy# = 0
Dim pcamz# = 4

'variabel untuk posisi titik pandang
Dim prefx# = 0
Dim prefy# = 0
Dim prefz# = 0



'variabel perpindahan
Dim pindah# = 0.01

'variabel tekstur
Dim satu
Dim dua
Dim tiga
Dim empat
Dim lima
Dim enam

satu = loadmipmaptexture("gambarsatu.jpg")
dua = loadmipmaptexture("gambardua.jpg")
tiga = loadmipmaptexture("gambartiga.jpg")
empat = loadmipmaptexture("gambarempat.jpg")
lima = loadmipmaptexture("gambarlima.jpg")
enam = loadmipmaptexture("gambarenam.jpg")

glEnable(GL_TEXTURE_2D)

while true
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
glLoadIdentity()

gluLookAt(pcamx#, pcamy#, pcamz#, prefx#, prefy#, prefz#, 0, 1, 0)

glBindTexture(GL_TEXTURE_2D, satu)

glBegin (GL_QUADS) 'sisi belakang
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(1.0, 1.0, -1.0) 'kanan atas

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,0)
glVertex3f(1.0, -1.0, -1.0) 'kanan bawah

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(-1.0, -1.0, -1.0) 'kiri bawah

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,1)
glVertex3f(-1.0, 1.0, -1.0) 'kiri atas
glEnd()

glBindTexture(GL_TEXTURE_2D, dua)

glBegin (GL_QUADS) 'sisi depan
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(1.0, 1.0, 1.0) 'kanan atas

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,0)
glVertex3f(1.0, -1.0, 1.0) 'kanan bawah

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(-1.0, -1.0, 1.0) 'kiri bawah

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,1)
glVertex3f(-1.0, 1.0, 1.0) 'kiri atas
glEnd()

glBindTexture(GL_TEXTURE_2D, tiga)

glBegin (GL_QUADS) 'sisi kiri
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(0,1)
glVertex3f(-1.0, 1.0, -1.0)

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(-1.0, 1.0, 1.0)

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(1,0)
glVertex3f(-1.0, -1.0, 1.0)

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(-1.0, -1.0, -1.0)
glEnd()

glBindTexture(GL_TEXTURE_2D, empat)

glBegin (GL_QUADS) 'sisi kanan
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(0,1)
glVertex3f(1.0, 1.0, -1.0)

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(1.0, 1.0, 1.0)

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(1,0)
glVertex3f(1.0, -1.0, 1.0)

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(1.0, -1.0, -1.0)
glEnd()

glBindTexture(GL_TEXTURE_2D, lima)

glBegin (GL_QUADS) 'sisi atas
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(1,0)
glVertex3f(1.0, 1.0, -1.0)

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(1.0, 1.0, 1.0)

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(0,1)
glVertex3f(-1.0, 1.0, 1.0)

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(-1.0, 1.0, -1.0)
glEnd()

glBindTexture(GL_TEXTURE_2D, enam)

glBegin (GL_QUADS) 'sisi bawah
'glColor3f(1.0, 0.0, 0.0)
glTexCoord2f(1,0)
glVertex3f(1.0, -1.0, -1.0)

'glColor3f(0.0, 1.0, 0.0)
glTexCoord2f(1,1)
glVertex3f(1.0, -1.0, 1.0)

'glColor3f(0.0, 0.0, 1.0)
glTexCoord2f(0,1)
glVertex3f(-1.0, -1.0, 1.0)

'glColor3f(1.0, 0.0, 1.0)
glTexCoord2f(0,0)
glVertex3f(-1.0, -1.0, -1.0)
glEnd()

swapBuffers()

if scankeydown(VK_RIGHT) then ' gerak ke kanan
pcamx# = pcamx# + pindah#
elseif scankeydown(VK_LEFT) then ' gerak ke kiri
pcamx# = pcamx# - pindah#
elseif scankeydown(VK_UP) then ' gerak ke atas
pcamy# = pcamy# + pindah#
elseif scankeydown(VK_DOWN) then ' gerak ke bawah
pcamy# = pcamy# - pindah#
endif

wend













Hasil Jadi Programnya, bentuk nya seperti berikut :

1. 


2.

Sekian dan Terimakasih, Semoga Bermanfaat :)

1 komentar: