cara membuat proyeksi dari gabungan grafik dengan opengl.docx
TRANSCRIPT
![Page 1: Cara Membuat Proyeksi dari Gabungan Grafik dengan OpenGL.docx](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082911/577c84051a28abe054b73d71/html5/thumbnails/6.jpg)
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 !
'