cara membuat proyeksi dari gabungan grafik dengan opengl.docx

6
8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 1/6 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL Run: Syntax : #include <math.h> #include <stdio.h> #include <GL/glut.h> double rx=1.! double ry=1.!

Upload: fannisa-effendi

Post on 07-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 1/6

Cara Membuat Proyeksi dari Gabungan Grafik

dengan OpenGL

Run:

Syntax :#include <math.h>#include <stdio.h>#include <GL/glut.h>

double rx=1.!double ry=1.!

Page 2: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 2/6

"loat l$=%.&1.&.'! // (oordinat sumber cahaya"loat n$=%.&)1.&.'!"loat e$=%.&)*.&.'!

+oid hel,-!

// obye( yang a(an digambar+oid dra-%

//(ota( di atas me0a  glush2atrix-!

gluLoo(3t-.& 4.& *.& .& 1.& 1.& .& 1.& .!

gl5ranslate"-.&1&)6.*!  glRotate"-4&1&&1!  glutSolid7ube-8.8"!  glo,2atrix-!

  //,a,an me0a  glush2atrix-!  gluLoo(3t-.& 8.& 4.& .& 1.& .& .& 1.& .!

gl5ranslated-.1&).6&)6.!  glRotate"-)9&&1&!

  glScaled-*&.*&6!  glutSolid7ube-1.!  glo,2atrix-!

  //(a(i me0a  glush2atrix-!  gluLoo(3t-.& 8.& 4.& .& 1.& .& .& 1.& .! //(a(i me0a(e)1 (anan de,an  gl5ranslated-;.&)8.*&)*.!  glRotate"-)9&&1&!  glScaled-1&;&1!  glutSolid7ube-.6!  glo,2atrix-!

glush2atrix-!  gluLoo(3t-.& 8.& 4.& .& 1.& .& .& 1.& .! //(a(i me0a(e)8 (anan bela(ang  gl5ranslated-;.&)8.*&)9.!

Page 3: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 3/6

  glRotate"-)9&&1&!  glScaled-1&;&1!  glutSolid7ube-.6!  glo,2atrix-!

  glush2atrix-!gluLoo(3t-.& 8.& 4.& .& 1.& .& .& 1.& .! //(a(i me0a

(e)4 (iri bela(ang  gl5ranslated-);.&)8.*&)9.!  glRotate"-)9&&1&!  glScaled-1&;&1!  glutSolid7ube-.6!  glo,2atrix-!

  glush2atrix-!

gluLoo(3t-.& 8.& 4.& .& 1.& .& .& 1.& .! //(a(i me0a(e); (iri de,an  gl5ranslated-);.&)8.*&)*.!  glRotate"-)9&&1&!  glScaled-1&;&1!  glutSolid7ube-.6!  glo,2atrix-!

  gllush-! //untu( memasti(an baha ,erintah gambar die(se(usi'

//membuat ,roye(si bayangan+oid glShadoro0ection-"loatl&"loate&"loatn%

"loat d& c!"loat mat1$!

d = n$l$ n1$l1$ n8$l8$!c = e$n$ e1$n1$ e8$n8$ ) d!

mat$ = l$n$c! // membuat matri(. ?,enGL mengguna(an(olom matri(

mat;$ = n1$l$!mat$ = n8$l$!mat18$ = )l$c)l$d!

mat1$ = n$l1$!mat*$ = l1$n1$c!

Page 4: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 4/6

  mat9$ = n8$l1$!mat14$ = )l1$c)l1$d!

mat8$ = n$l8$!mat@$ = n1$l8$!

mat1$ = l8$n8$c!mat1;$ = )l8$c)l8$d!

mat4$ = n$!mat6$ = n1$!mat11$ = n8$!mat1*$ = )d!

gl2ult2atrix"-mat! // (ali(an matri('

+oid render-%

gl7lear7olor-1.&1.&1.&1.!gl7lear-GLA7?L?RABCDRABE5FGLAD5HABCDRABE5! //arna

di atas me0a

  glLight"+-GLALEGH5& GLA?SE5E?I& l!glisable-GLA7CLLA37D!glisable-GLALEGH5EIG!

gl7olor4"-.&1.&.!

glBegin-GLA?EI5S!glJertex4"-l$&l1$&l8$!

glDnd-!

gl7olor4"-.6&.6&.!glBegin-GLAKC3S!

glIormal4"-.&1.&.!glJertex4"-)14.&e1$).1& 14.!glJertex4"- 14.&e1$).1& 14.!glJertex4"- 14.&e1$).1&)14.!glJertex4"-)14.&e1$).1&)14.!

glDnd-!

// gambar bayangan

Page 5: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 5/6

  glDnable-GLALEGH5EIG!gl7olor4"-1.&.&.*! //arna ob0e(

  dra-!glo,2atrix-!

  //se(arang gambar bayangan yang munculglush2atrix-!glShadoro0ection-l&e&n!glisable-GLALEGH5EIG!gl7olor4"-.1&.1&.8! //arna bayangan

  dra-!glo,2atrix-!glutSa,Bu""ers-!

'

+oid (ey,ress-unsigned char c& int a& int b%

i" - c==86 exit-!else i" - c==s l1$)=*.!else i" - c== l1$=*.!else i" - c==a l$)=*.!else i" - c==d l$=*.!else i" - c==M l8$)=*.!else i" - c==e l8$=*.!

else i" - c==h hel,-!'

+oid hel,-%

,rint"-N,roye(si bayangan sebuah cube diatas me0aOnN!'

+oid idle-%

rx=.;!ry=.6!render-!

'

+oid resiPe-int & int h%

glJie,ort-&&&h!

Page 6: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

8/19/2019 Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx

http://slidepdf.com/reader/full/cara-membuat-proyeksi-dari-gabungan-grafik-dengan-opengldocx 6/6

'

int main-int argc&chararg+$%

glutEnit-Qargc&arg+!

glutEnitis,lay2ode-GLC5A?CBLDFGLC5ARGBFGLC5AD5H!glut7reateindo-N7ube di atas me0aN!glutResha,eunc-resiPe!glutResha,eindo-;&;!gluteyboardunc-(ey,ress!glutis,layunc-render!glutEdleunc-idle!

glDnable-GLAI?R23LETD!glDnable-GLALEGH5EIG!

glDnable-GLA7?L?RA235DRE3L!glDnable-GLAD5HA5DS5!glDnable-GLALEGH5!glDnable-GLA5DU5CRDA8!gl2atrix2ode-GLAR?VD75E?I!

glLoadEdentity-!gluers,ecti+e-;."&1.&1.&;.!

// Reset (oordinat sebelum dimodi"i(asi/diubah

gl2atrix2ode-GLA2?DLJED!glLoadEdentity-!gl5ranslate"-.&.&)8.!glut2ainLoo,-!return !

'