Kamis, 04 Januari 2018

Program grafis 3 dimensi

'posisi mata
Dim pmatax# = 0
Dim pmatay# = 0
Dim pmataz# = 4

'posisi titik pandang
Dim ppandangx# = 0
Dim ppandangy# = 0
Dim ppandangz# = -4  

Dim kecepatan# = 0.01  

'variabel untuk menyimpan gambar tekstur
Dim tekstur
tekstur = loadmipmaptexture("gbr/udinus.jpg")
Dim tekstur2
tekstur2 = loadmipmaptexture("gbr/kayu.jpg")                                       
Dim tekstur3
tekstur3 = loadmipmaptexture("gbr/dinding.jpg")
Dim tekstur4
tekstur4 = loadmipmaptexture("gbr/bunga.jpg")
Dim tekstur5
tekstur5 = loadmipmaptexture("gbr/blue.jpg")
'beritahu bahwa akan menggunakan tekstur
glEnable(gl_texture_2d)

while true
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
glLoadIdentity()

gluLookAt(pmatax#, pmatay#, pmataz#, ppandangx#, ppandangy#, ppandangz#, 0,1,0) 'posisi mata, posisi titik pandang, vektor up (0,1,0)

glBindTexture(gl_texture_2d, tekstur3)

glBegin(GL_QUADS)  'sisi depan
   'glColor3f(1,0,0) 'warna merah
   glTexCoord2d(1,1)
   glVertex3f(1, 1, -1) 'kanan atas  
   'glColor3f(0,1,0) 'warna hijau
   glTexCoord2d(0,1)
   glVertex3f(-1, 1, -1) 'kiri atas
   'glColor3f(0,0,1) 'warna biru
   glTexCoord2d(0,0)
   glVertex3f(-1, -1, -1) 'kiri bawah
   'glColor3f(1,1,0) 'warna kuning
   glTexCoord2d(1,0)
   glVertex3f(1, -1, -1)'kanan bawah
glEnd()                                     


glBindTexture(gl_texture_2d, tekstur)
glBegin(GL_QUADS)  'sisi belakang
   'glColor3f(0,1,0) 'warna hijau
   glTexCoord2d(1,1)
   glVertex3f(1, 1, 1) 'kanan atas  
   'glColor3f(1,0,0) 'warna merah
   glTexCoord2d(0,1)
   glVertex3f(-1, 1, 1) 'kiri atas
   'glColor3f(0,0,1) 'warna biru
   glTexCoord2d(0,0)
   glVertex3f(-1, -1, 1) 'kiri bawah
   'glColor3f(1,1,0) 'warna kuning
   glTexCoord2d(1,0)
   glVertex3f(1, -1, 1)'kanan bawah
glEnd()                                       
               
glBindTexture(gl_texture_2d, tekstur2)
glBegin(GL_QUADS)  'sisi atas
   'glColor3f(0,1,0) 'warna hijau
   glTexCoord2d(0,1)
   glVertex3f(1, 1, -1) 'kanan depan  
   'glColor3f(1,0,0) 'warna merah
   glTexCoord2d(0,0)
   glVertex3f(1, 1, 1) 'kanan belakang
   'glColor3f(0,0,1) 'warna biru
   glTexCoord2d(1,0)
   glVertex3f(-1, 1, 1) 'kiri belakang
   'glColor3f(1,1,0) 'warna kuning
   glTexCoord2d(1,1)
   glVertex3f(-1, 1, -1)'kiri depan
glEnd()     

glBindTexture(gl_texture_2d, tekstur4)   
glBegin(GL_QUADS)  'sisi bawah
   'glColor3f(0,1,0) 'warna hijau
   glTexCoord2d(0,1)
   glVertex3f(1, -1, -1) 'kanan depan  
   'glColor3f(1,0,0) 'warna merah
   glTexCoord2d(0,0)
   glVertex3f(1, -1, 1) 'kanan belakang
   'glColor3f(0,0,1) 'warna biru
   glTexCoord2d(1,0)
   glVertex3f(-1, -1, 1) 'kiri belakang
   'glColor3f(1,1,0) 'warna kuning
   glTexCoord2d(1,1)
   glVertex3f(-1, -1, -1)'kiri depan
glEnd()

glBindTexture(gl_texture_2d, tekstur5)            
glBegin(GL_QUADS)  'sisi kanan
   'glColor3f(0,1,0) 'warna hijau
   glTexCoord2d(1,0)
   glVertex3f(1, 1, -1) 'atas depan  
   'glColor3f(1,0,0) 'warna merah
   glTexCoord2d(0,0)
   glVertex3f(1, 1, 1) 'atas belakang
   'glColor3f(0,0,1) 'warna biru
   glTexCoord2d(0,1)
   glVertex3f(1, -1, 1) 'bawah belakang
   'glColor3f(1,1,0) 'warna kuning
   glTexCoord2d(1,1)
   glVertex3f(1, -1, -1)'bawah depan
glEnd()

swapBuffers()

if scankeydown(VK_RIGHT) then
    pmatax# = pmatax# + kecepatan#
'    ppandangx# = ppandangx# + kecepatan#
elseif scankeydown(VK_LEFT) then
    pmatax# = pmatax# - kecepatan#     
'    ppandangx# = ppandangx# - kecepatan#    
endif                         

if scankeydown (VK_UP) then
    pmatay# = pmatay# + kecepatan#
'   ppandangx# = ppandangy# + kecepatan#
elseif scankeydown (VK_DOWN) then
    pmatay# = pmatay# - kecepatan#
'   ppandangx# = ppandangy# - kecepatan#
      
endif

wend

Tidak ada komentar:

Posting Komentar