komputer grafik rizky
TRANSCRIPT
-
8/12/2019 komputer grafik rizky
1/31
1
Nama Pratikan Nomor
Mahasiswa
Tanggal
Kumpul
Tanda Tangan
Pratikan
Rizky Agustin 1214370081 12 juni 2014
Nama Penilai Tanggal Koreksi Nilai Tanda tangan
Dosen
Indri
sulistianingsih.S,KOM
FAKULTAS TEKNIK
JURUSAN SISTEM KOMPUTER
UNIVERSITAS PEMBANGUNA PANCA BUDI
MEDAN
2014
LAPORAN PRAKTIKUM
KOMPUTER GRAFIK
Kelas
TI4D
SORE
-
8/12/2019 komputer grafik rizky
2/31
2
KATA PENGANTAR
Sebelumnya kami mengucapkan puji dan syukur kehadirat TUHAN YANG MAHA
ESA yang telah melimpahkan rahmat dan karunianya kepada kami, sehingga kami dapat
menyelesaikan Tugas Grafika Komputer ini tepat pada waktunya.
Terdorong oleh rasa ingin tahu, kemauan, kerja sama dan kerja keras, kami kerahkan seluruh
upaya demi mewujudkan ke ingin-tahuan dan tugas dari dosen pembimbing untuk
menyelesaikan tugas ini.
Semoga tulisan ini dapat memenuhi kewajiban kami dalam tugas perkuliahan Grafika
Komputer.
Adapun harapan kami, semoga tulisan ini dapat menambah wawasan pembaca mengenai
Grafika Komputer dan penerjemah bahasa pencitraan OpenGL, dengan maksud nantinya
pembaca mampu untuk memahami apa itu Grafika Komputer, OpenGL, dan lain sebagainya
yang menyangkut objek 2 dimensi (2D) dan 3 dimensi (3D).
Kami menyadari bahwa tulisan ini masih jauh dari sempurna, untuk itu kami mengharapkan
kritik dan saran yang membangun dari pembaca demi kesempurnaan tulisan ini.
Medan , 07 juni 2014
Hormat saya ,
Penulis
-
8/12/2019 komputer grafik rizky
3/31
3
DAFTAR ISI
Kata Pengantar ..2
Daftar isi ....3
BAB I PENDAHULUAN ......4
I.I. Latar Belakang ..4
I.3. Tujuan Pratikum4
BAB II LANDASAN TEORI ..5
2.1 Pengertian Grafika Komputer .5
2.2 Elemen Dasar Grafika .......6
2.3 Grafik Komputer 2D.....62.4 Grafik komputer 3D.....72.5 Perbedaan Grafik 2D dan 3D...72.6 Transformasi..82.7 Color (Warna)...102.8 Blending (Pencampuran.....122.9 Texture Mapping.13
BAB III HASIL PERCOBAAN.14
3.1 Primitive drawing....14
3.2. Contoh Fungsi 2D (dimensi ).15
3.3. Contoh fungsi 3D ( dimensi ).19
3.4 Syntax Monas..23
BAB IV Analisa Hasil Percobaan.30
4.1TUJUAN....30BABV Penutup...30
5.1Kesimpulan .305.2Saran....30
DAFTAR PUSAKA 31
-
8/12/2019 komputer grafik rizky
4/31
4
BAB I
Pendahuluan
1.1 Latar Belakang MasalahSemakin berkembangnya ilmu pengetahuan dan teknologi grafis pada masa sekarang
ini, maka pengetahuan mengenai grafik komputer semakin banyak dipakai. Namun sebelum
kita membahas lebih jauh mengenai grafik komputer, kita akan mengetahui dahulu definisi
sebenarnya tentang apa itu grafik komputer.
Secara umum grafik komputer adalah gambar yang dihasilkan oleh komputer, yang
hasilnya sudah sering kita lihat seperti di majalah dan televisi. Disini dibahas bahwa tiapkarakter yang dihasilkan diambil dari library dari bentuk karakter yang ada pada memori
komputer. Gambar-gambar yang berada pada majalah atau televisi tersebut ada beberapa
yang terlihat sangat natural, sehingga kita para pembaca akan sulit membedakan mereka
buatan atau hasil dari fotografi asli.
Selain itu grafik komputer juga digunakan untuk membuat design dari background
ataupun objek-objek dalam game di komputer. Gambar-gambar yang ada pada game itu
adalah gabungan antara kenyataan dan imajinasi dari programmer-nya. Dalam bidang lain,grafik komputer digunakan dalam dunia seni, entertainment, dan publikasi. Khususnya
dipakai dalam produksi film, animasi, dan spesial efek. Animasi dibuat dengan membuat
sebuah gambar yang berkelanjutan di film atau videotape. Gambar satu dan yang selanjutnya
hanya mempunyai perbedaan yang tipis ( slightly different ). Bidang-bidang lain yang
menggunakan grafika komputer adalah untuk browsing di World Wide Web, untuk
pengawasan proses, dan banyak lagi.
I.2. Tujuan Pratikum
Adapun tujuan yang akan dicapai dari penulisan laporan ini adalah sebagai berikut :
1. Mengetahui fungsi-fungsi pada openGL.
\
-
8/12/2019 komputer grafik rizky
5/31
5
BAB II
LANDASAN TEORI
2.1 Pengertian Grafika KomputerGrafika komputer (Computer graphics) adalah bagian dari ilmu komputer yang
berkaitan dengan pembuatan dan manipulasi gambar secara digital. Bentuk sederhana dari
grafika komputer adalahgrafika komputer 2D yang kemudian berkembang menjadi grafika
komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern
recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data. grafika
komputer tidak hanya mengenai hardware, software maupun berbagai keahlian yang terkait
dengan pengolahan grafis tetapi merupakan keseluruhan keseluruhan hal-hal tersebut.
Grafika komputer berkaitan dengan pengolahan dan pendokumentasian teknologi yangmengarah kepada komunikasi dan informasi secara akurat dan deskriptif.
Grafika komputer (Computer Graphic) juga dapat diartikan sebagai seperangkat alat
yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik
untuk seni, game komputer, foto dan animasi komputer dan lain-lain.
Bagian dari grafika komputer meliputi:
1. Geometri:mempelajari cara menggambarkan permukaan bidang2. Animasi:mempelajari cara menggambarkan dan memanipulasi gerakan3. Rendering:mempelajarialgoritma untuk menampilkan efek cahaya4. Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar.
Teknik-teknik yang dipelajari dalam grafika komputer adalah teknik-teknik
bagaimana membuat atau menciptakan gambar menggunakan komputer. Ada perbedaan yang
sangat mendasar antara foto dan gambar, yaitu pada foto semua detail obyek terlihat
sedangkan pada gambar (baik itu gambar manusia atau gambar komputer) tidak dapat
memperlihatkan semua detail yang ada tetapi hanya detail-detail yang dianggap penting
dalam menunjukkan pola suatu gambar.
http://id.wikipedia.org/wiki/Ilmu_komputerhttp://id.wikipedia.org/w/index.php?title=Grafika_komputer_2D&action=edit&redlink=1http://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/w/index.php?title=Pemrosesan_citra&action=edit&redlink=1http://id.wikipedia.org/wiki/Pengenalan_polahttp://id.wikipedia.org/wiki/Visualisasihttp://id.wikipedia.org/wiki/Geometrihttp://id.wikipedia.org/wiki/Animasihttp://id.wikipedia.org/w/index.php?title=Rendering&action=edit&redlink=1http://id.wikipedia.org/wiki/Algoritmahttp://id.wikipedia.org/wiki/Citrahttp://id.wikipedia.org/wiki/Citrahttp://id.wikipedia.org/wiki/Algoritmahttp://id.wikipedia.org/w/index.php?title=Rendering&action=edit&redlink=1http://id.wikipedia.org/wiki/Animasihttp://id.wikipedia.org/wiki/Geometrihttp://id.wikipedia.org/wiki/Visualisasihttp://id.wikipedia.org/wiki/Pengenalan_polahttp://id.wikipedia.org/w/index.php?title=Pemrosesan_citra&action=edit&redlink=1http://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/w/index.php?title=Grafika_komputer_2D&action=edit&redlink=1http://id.wikipedia.org/wiki/Ilmu_komputer -
8/12/2019 komputer grafik rizky
6/31
6
1. Elemen Dasar GrafikaAda beberapa elemen dasar dari grafika komputer antara lain:
1. Point2.
Polyline
3. Polygon4. Filled Polygon ( Face )5. Gradate Polygon
2.2.1. Point
Point adalah sebuah titik yang digunakan untuk membangun obyek. Setiap titik
dalam obyek 3 dimensi memiliki nilai dalam x, y dan z.
2.2.2. Polyline
Polyline adalah sebuah fungsi yang dibentuk dari beberapa garis yang saling
berhubungan dan membentuk sebuh kurva yang terbuka.
2.2.3 Polygon
Polygonadalah suatu fungsi yang mirip dengan polyline hanya saja hasilnya adalah
kurva tertutup, sedangkanpolylinehasilnya kurva terbuka.
2.2.4 Filled Polygon (Face)
Filled Polygonadalah sebuahpolygonyang bagian dalamnya diwarnai atau dipenuhi
dengan sebuah warna tertentu. Filled polygon biasanya digunakan sebagai face dari
pembentukan obyekobyek 3 Dimensi.
2.2.5. Gradate Polygon
Gradate polygon adalah sebuah polygon yang bagian dalamnya memiliki warna
warna yang bergradasi dari satu warna ke warna yang lainnya.
2.2 Grafik Komputer 2DGrafik komputer 2D adalah pembuatan objek gambar dengan menggunakan 2 titik
sebagai acuannya yaitu sumbu x dan y. Grafik 2D ini dapat digunakan dalam berbagai
-
8/12/2019 komputer grafik rizky
7/31
7
aplikasi yang pada awalnya dikembangkan pada teknologi cetak tradisional dan gambar,
seperti tipografi, kartografi, gambar teknik, iklan, dan lain-lain.
Grafik komputer 2D ini merupakan langkah paling awal dalam membentuk model
objek yang akan dibangun dalam grafik komputer 3D. Dalam aplikasi, gambar dua dimensiadalah bukan hanya representasi dari objek dunia nyata, tetapi sebuah artefak independen
dengan nilai tambah semantik. Keseluruhan obyek 2D dapat dimasukkan dengan jumlah lebih
dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek
2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop, Corel Draw,
dan lain sebagainya.
2.3Grafik komputer 3DGrafik komputer 3D merupakan representasi dari data geometrik 3 dimensi sebagai
hasil dari pemrosesan dan pemberian efek cahaya terhadap grafik komputer 2D. hasilnya
dapat ditampilkan secara real time untuk keperluan simulasi. Prinsip yang dipakai mirip
dengan grafik komputer 2D dalam penggunaan algoritma, grafika vektor, model frame kawat
(wire frame model), dan grafik rasternya.
Grafik komputer 3D sering disebut sebagai model 3D. Namun, model 3D ini lebih
menekankan pada representasi matematis untuk objek 3 dimensi. Obyek pada grafik 3D
adalah sekumpulan titik-titik 3D (x,y,z) yang membentuk suatu face (bidang) yang
digabungkan menjadi satu kesatuan. Face sendiri adalah gabungan titik-titik yang membentuk
bidang tertentu. Data matematis ini belum bisa dikatakan sebagai gambar grafis hingga saat
ditampilkan secara visual pada layar komputer atau printer. Proses penampilan suatu model
matematis ke bentuk citra 2 D biasanya dikenal dengan proses 3D rendering.
2.4Perbedaan Grafik 2D dan 3DPerbedaan yang paling mendasar dan terlihat dengan sangat jelas adalah tampilan gambarnya.
Gambar 2D tampil flat adn frame tampilannya cenderung terbatas karena objek gambarnya
disajikan hanya dengan sumbu x dan y. Sedangkan pada grafik 3D, gambar yang ditampilkan
lebih hidup, membentuk ruang, tidak flat, serta framenya lebih luas yang dikarenakan gambar
3D disajikan dengan 3 sumbu, yaitu x, y, dan z.
-
8/12/2019 komputer grafik rizky
8/31
8
2.5TransformasiTransformasi dasar pada objek dua dimensi yang pertama adalah translasi
(translation). Translasi berarti memindahkan suatu objek sepanjang garis lurus dari suatu
lokasi koordinat tertentu ke lokasi yang lain. Transformasi skala (scaling)digunakan untukmengubah ukuran suatu objek, sedangkan rotasi (rotation)adalah pemindahan objek menurut
garis melingkar.
Jenis jenis dari transformasi dasar:
1. TranslasiTranslasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translasi
vektor atau shift vektor, yaitu (tx,ty), dimana tx adalah translation vektor menurut sumbu x,
sedangkan tyadalah translation vektor menurut sumbu y. koordinat baru titik yang ditranslasi
dapat diperoleh dengan
X= x + tx
Y= y + ty
Dimana (x,y) adalah koordinat asal suatu objek dan (x , y) adalah koordinat baru objek
tersebut setelah ditranslasi.
Kadang-kadang transformasi dinyatakan dalam bentuk matriks, sehingga matriks tranformasi
untuk translasi dapat dinyatakan sebagai berikut :
Dengan demikian translasi dua dimensi dapat ditulis dalam bentuk matriks :
P = P + T
Disamping dinyatakan dalam vektor kolom, matriks transformasi dapat dituliskan dalam
bentuk vektor baris, sehingga menjadi P = [ x y ] dan T = [ txty ]. Bentuk vektor kolom adalah
standar dari symbol matematik, yang juga berlaku bagi notasi grafik seperti GKS dan PHIGS.
-
8/12/2019 komputer grafik rizky
9/31
9
2. SkalaTransformasi skala adalah perubahan ukuran suatu objek. Koordinat baru dapat diperoleh
dengan melakukan perkalian nilai koordinat dengan scaling factor, yaitu (sx , sy) ,dimana sx
adalah scaling factor menurut sumbu x, sedangkan syadalah scaling factor menurut sumbu y.koordinat baru titik yang diskala dapat diperoleh dengan
X= x + sx
Y = y + sy
Dimana (x , y) adalah koordinat asal suatu objek dan (x,y) adalah koordinat setelah diskala.
Matriks transformasi untuk skala dapat dinyatakan sebagai berikut:
Dengan demikian skala dapat juga dituliskan
P = S . P
Scaling factor sx dan sy dapat diberikan sembarang nilai positif. Nilai lebih dari 1
menyebabkan objek diperbesar, sebaliknya bila nilai lebih kecil dari 1, maka objek akan
diperkecil. Bila sx dan symempunyai nilai yang sama, maka skala disebut uniform scaling.
Nilai yang tidak sama dari sxdan symenghasilkan differential scaling, yang biasa digunakan
pada program aplikasi.
3. RotasiRotasi dua dimensi pada suatu objek kan memindahkan objek tersebut menurut garis
melingkar. Pada bidang xy. Untuk melakukan rotasi diperlukan sudut rotasi dan pivot point
(xp yp ) atau rotasi point dimana objek di rotasi, seperti pada gambar 5-3 nilai positif dari
sudut rotasi menentukan arah rotasi berlawanan dengan jarum jam, dan sebaliknya nilai
negative akan memutar objek searah jarum jam.
Rotasi dapat dilakukan dengan pivot point yaitu titik pusat koordinat, seperti pada gambar 5-
4. Pada betuk ini, r adalah jarak konstan dari titik pusat, sudut adalah sudut posisi suatu
titik dengan sumbu horizontal, sedangkan adalah sudut rotasi. Menggunakan trigonometri,
transformasi dapat dinyatakan dengan sudut dan sebagai berikut:
X= r cos ( + ) = r cos cos r sin sin
y = r sin ( + ) = r cos sin + r sin cos
-
8/12/2019 komputer grafik rizky
10/31
10
sedangkan dengan koordinat polar diketahui bahwa
x = r cos , y = r sin
dengan melakukan substitusi, diperoleh rumus transformasi untuk rotasi suatu titik (x, y)
dengan sudut rotasi sebagai berikut:x = x cos y sin
y = x sin y cos
matriks transformasi untuk rotasi dapat dinyatakan sebagai berikut:
P = R. P
Rotasi dapat dinyatakan dalam bentuk lain, yaitu matriks. Matriks rotasi dapat dituliskan
dengan
Rotasi suatu titik terhadap pivot point (xp yp) seperti pada gambar 5-5, menggunakan bentuk
trigonometri, secara umum dapat dituliskan sebagai berikut:
X = xp+(x - xp) cos (y - yp) sin
Y = yp+ (xxp) sin + (y yp) cos
2.6Color (Warna)Bentuk gelombang elektromagnetik yang terkandung dalam cahaya yang berasal dari
sumber cahaya. Spectrum warna memiliki panjang gelombang elektomagnetik antara 350-
750 nanometer .
Pembagian Warna
RGB (Red-Green-Blue) : warna dasar yang dijadikan patokan warna secara universal(primary colors)
CMYK (Cyan-Magenta-Yellow-Black) : Sistem representasi pada warna tinta yangditerapkan dalam dunia fotografi dan produksi grafika
Sistem Warna Lingkaran (the color wheel) : Digunakan untuk mengkombinasikan dan
mengharmonikan warna pada karya seni dan design
-
8/12/2019 komputer grafik rizky
11/31
11
Gambar 1 Pembagian warna
Warna dapat didefinisikan secara obyektif/fisik sebagai sifat cahaya yang
dipancarkan, atau secara subyektif/psikologis sebagai bagian dari pengalaman indera
pengelihatan. Secara obyektif atau fisik, warna dapat diberikan oleh panajang gelombang.
Dilihat dari panjang gelombang, cahaya yang tampak oleh mata merupakan salah satu bentuk
pancaran energi yang merupakan bagian yang sempit dari gelombang elektromagnetik.
Dari sekian banyak warna, dapat dibagi dalam beberapa bagian yang sering
dinamakan dengan sistem warna Prang System yang ditemukan oleh Louis Prang pada 1876
meliputi :
1. Hue, adalah istilah yang digunakan untuk menunjukkan nama dari suatu warna, sepertimerah, biru, hijau dsb.
2. Value, adalah dimensi kedua atau mengenai terang gelapnya warna. Contohnya adalahtingkatan warna dari putih hingga hitam.
3. Intensity, seringkali disebut dengan chroma, adalah dimensi yang berhubungan dengan cerahatau suramnya warna.
2.7 Lighting (pencahayaan)Lighting merupakan proses menghitung intensitas cahaya terutama pada 3-Dimensi
point, biasanya diatas suatu permukaan.
Beberapa cara mengatasi masalah pencahayaan, antara lain :
Mengerti persepsi dari cahaya (warna)
Membuat sebuah solusi untuk merepresentasikan dan menghasilkan warna menggunakankomputer.
-
8/12/2019 komputer grafik rizky
12/31
12
Mengerti akan pengaruh cahaya dan objek` Bayangan
Bayangan akan muncul saat cahaya jatuh menyinari suatu objek. Pada dunia maya, layaknya cahaya, terdapat beberapa jenis bayangan yang dapat dihasilkan
oleh komputer.
Bayangan bekerja sama dengan cahaya untuk memberi kesan natural atau realistic pada scene
yang ada. Bayangan dapat membantu mendefinisikan posisi objek-objek, apakah berada di
lantai atau melayang di udara. Bayangan yang dihasilkan bisa tajam dan solid namun bisa
juga lembut dan buram (blurry). Keberadaan bayangan atau ketiadaannya dapat digunakan
untuk memberi keseimbangan dan kontras pada objek-objek di dalam scene.
2.8 Blending (Pencampuran)Pencampuran merupakan fungsi yang menggabungkan nilai warna dari sumber dan
tujuan. Operasi campuran yaitu cara yang paling alami untuk mengetahui bahwa komponen
RGB adalah suatu fragmen yang mewakili warna dan komponen alfa adalah suatu fragmen
yang mewakili sifat tidak tembus cahaya.
Faktor sumber dan tujuan
Pada proses pencampuran, nilai cairan warna yang masuk fragmen (sumber)
digabungkan dengan warna yang sesuai dengan nilai saat ini yang disimpan pada piksel
(tujuan) dalam dua tahap proses. Yang pertama menghitung faktor sumber dan tujuan, factor-
faktor tersebut adalah RGBA quadruplets yang masing-masing dikalian dengan komponen-
komponen R, G, B dan nilai-nilai dari sumber dan tujuan. Kemudian komponen yang sesuai
dalam dua set RGBA quadruplets. Secara sistematis, faktor sumber dan tujuan pencampuran
(SR, Sg, Sb, Sa) dan (Dr, Dg, dB, Da) dan nilai RGBA ditandai dengan s atau d dan terakhir
nilai RGBA dicampurkan yang diperoleh dengan (RsSr + RdDr, GsSg + GdDg, BsSb +BdDb, AsSa + Adda) dimana setiap komponen adalah quadruplets is eventually clamped to
[0,1].
Dengan menggunakan glBlendFunc () untuk persediaan pada dua hal utama, yang
pertama menentukan bagaimana faktor sumber dan tujuan harus dihitung dan yang kedua
menunjukan bagaimana faktor sumber dan tujuan dihitung. Dan untuk proses
pencampurannya harus ada faktor pengaktifannya menggunakan : glEnable (GL_BLEND).
Menggunakan glDisable () dengan GL_BLEND untuk menonaktifkan Pencampuran danmenggunakan konstan GL_ONE (sumber) dan GL_ZERO (tujuan) memberikan hasil yang
-
8/12/2019 komputer grafik rizky
13/31
13
sama seperti ketika Pencampuran dinonaktifkan. Nilai-nilai ini bersifat default dengan void
glBlendFunc(GLenumsfactor,GLenum dfactor).
Mengontrol bagaimana nilai warna dalam fragmen yang diproses digabungkan
dengan yang sudah disimpan dalam framebuffer (tujuan). Pendapat sfactor menunjukkanbagaimana untuk menghitung faktor sumber Pencampuran dan dfactor menunjukkan
bagaimana untuk menghitung faktor tujuan Pencampuran. Campuran faktor yang
diasumsikan terletak pada rentang [0,1]; setelah nilai warna dalam sumber dan tujuan
digabungkan, setelah dihitung kisaran [0,1].
2.9 Texture MappingTexture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar
wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti
tekstur yang diinginkan. Dalam pemberian tekstur, perlu diperhatikan dasarnya seperti:
1. Menentukan tekstura. Menandai tekstur
b. Mengenablekan tekstur2. Menandai koordinat tekstur pada vertek3. Menentukan parameter tekstur
-
8/12/2019 komputer grafik rizky
14/31
14
BAB III
HASIL PERCOBAAN
3.1 Primitive drawing
Penghasilan gambar pada grafika komputer menggunakan primitif grafik dasar.
Primitif ini memudahkan untuk menggambar pada layar monitor sebagaimana penggunaan
persamaan geometrik sederhana. Contoh primitif grafik dasar adalah :
o Titik
o Garis, Segiempat
o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnyao Fill area
o Text
Objek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun contoh grafik
primitif yang lain adalah :
o Poligaris yaitu urutan garis lurus yang saling terhubung.
o Teks adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks merupakan
kumpulan lebih dari dua karakter.o Citra raster adalah gambar yang dibuat dengan piksel yang membedakan bayangan dan
warna. Citra raster disimpan dalam komputer sebagai larik bernilai numerik. Larik tersebut
dikenal sebagai piksel map atau bitmap. Ada tiga cara untuk menghasilkan citra grafik yaitu
Citra didisain dengan tangan, Citra yang didapat dari perhitungan dan Citra yang discan.
Pemaparan citra raster dinyatakan oleh piksel dengan video displays (Cathod-ray Tube CRT),
flat panel dispalys (LCD), hardcopy (printer laser, dot matrix printers, ink-jet printers).
Contoh proses pemaparan permukaan adalah citra yang ditangkap lalu disimpan di frame
buffer, kemudian digunakan untuk mewarnai sebuah titik pada permukaan pemapar.
http://4.bp.blogspot.com/-ufJE_f6kEDE/UYEtPOrylcI/AAAAAAAAACE/pHtXrVDUUSI/s1600/Capture2.JPG -
8/12/2019 komputer grafik rizky
15/31
15
Selanjutnya proses scan di CRT. Frame buffer adalah matriks 2 dimensi yang mewakili piksel
pada pemapar. Ukuran matriks harus cukup untuk menyimpan kedalam warna pemapar untuk
semua piksel.
3.2. Contoh Fungsi 2D (dimensi )
#include
#include
typedef struct
{
int x,y;
}point2D_t;
typedef struct
{
float r,g,b;
}color_t;
void setColor (color_t col)
{
glColor3f(col.r, col.g, col.b);
}
void drawPolygon(point2D_t pnt[],int n)
{
int i;
glBegin(GL_POLYGON);
for (i=0; i
-
8/12/2019 komputer grafik rizky
16/31
16
}
glEnd();
}
void fillPolygon (point2D_t pnt[], int n, color_t color)
{
int i;
setColor(color);
glBegin(GL_POLYGON);
for (i=0; i
-
8/12/2019 komputer grafik rizky
17/31
17
point2D_t
pot2[6]={{-80,-160},{-50,-160},{-50,-190},{-60,-190},{-60,-170},{-80,-170}};
color_t hitam3 ={0,0,0};
fillPolygon(pot2,4, hitam3);
drawPolygon(pot2,4);
point2D_t
pot3[6]={{80,-160},{50,-160},{50,-190},{60,-190},{60,-170},{80,-170}};
color_t hitam2 ={0,0,0};
fillPolygon(pot3,4, hitam2);
drawPolygon(pot3,4);
static int tick=0;
point2D_t shape[360];
double srad,r;
for(int s=0; s
-
8/12/2019 komputer grafik rizky
18/31
18
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
//posisi layar
glutInitWindowPosition(150,150);
//ukuran layar
glutInitWindowSize(640,480);
//title windows
glutCreateWindow("Bunga Raflesia");
//warna back layar
glClearColor(1.0,1.0,1.0,0.0);
gluOrtho2D(-300.,400.,-300.,300.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
-
8/12/2019 komputer grafik rizky
19/31
19
Hasilnya :
3.3. Contoh fungsi 3D ( dimensi )
#include
#include
#include
#include
#include
#include
void cube()
{
//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1
glPushMatrix();
-
8/12/2019 komputer grafik rizky
20/31
20
glTranslated(0.5,0.5,0.5);//cube
glScaled(1.0,1.0,1.0);
glutSolidCube(1.0);
glPopMatrix();
}
void setMaterial()
{
//set properties of surfaces material
GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan
kombinasi warna tertentu
GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};
GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};
GLfloat mat_shininess[] = {50.0f};
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
}
void setLighting()
{
//set light sources
GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan
GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};
glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
}
-
8/12/2019 komputer grafik rizky
21/31
21
void setViewport()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt = 1.0;//half height of the window
glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);
}
void setCamera()
{
//set the camera
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(3.3,3.3,3.0,0,0.25,0,0.0,1.0,0.0);
}
void displayObject()
{
setMaterial();
setLighting();
setViewport();setCamera();
//startDrawing
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
cube();//memanggil fungsi menggambar kubus
glFlush();//mengirim smua objek untuk dirender
}
-
8/12/2019 komputer grafik rizky
22/31
22
void main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("simple 3d scene");
glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus
lighting material dan kamera
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glClearColor(1.0f,1.0f,1.0f,0.0f);
glViewport(0,0,640,480);
glutMainLoop();
}
Hasilnya :
-
8/12/2019 komputer grafik rizky
23/31
-
8/12/2019 komputer grafik rizky
24/31
24
int i;
setColor(color);
glBegin(GL_POLYGON);
for (i=0; i
-
8/12/2019 komputer grafik rizky
25/31
25
point2D_t
petaktengah2[4]={{100,70},{80,90},{280,90},{260,70}};
color_t kuning2 ={1,1,0};
fillpolygon(petaktengah2, 4, kuning2);
drawPolygon(petaktengah2,4);
point2D_t
petaktengah3[4]={{80,90},{70,110},{290,110},{280,90}};
color_t kuning3 ={1,1,0};
fillpolygon(petaktengah3, 4, kuning3);
drawPolygon(petaktengah3,4);
point2D_t
batang2[4]={{160,510},{160,530},{200,530},{200,510}};
color_t hitam4 ={0,0,0};
fillpolygon(batang2, 4, hitam4);
drawPolygon(batang2,4);
point2D_t
batang[4]={{150,120},{170,520},{190,520},{210,120}};
color_t putih2 ={1,1,1};
fillpolygon(batang, 4, putih2);drawPolygon(batang,4);
point2D_t
petaktengah4[4]={{70,110},{70,120},{290,120},{290,110}};
color_t hitam3 ={0,0,0};
fillpolygon(petaktengah4, 4, hitam3);
drawPolygon(petaktengah4,4);
-
8/12/2019 komputer grafik rizky
26/31
26
point2D_t
segitiga[3]={{170,530},{180,580},{190,530}};
color_t kuning4 ={1,1,0};
fillpolygon(segitiga, 3, kuning4);
drawPolygon(segitiga,3);
point2D_t
bayangbatang[4]={{160,530},{160,535},{200,535},{200,530}};
color_t putih3 ={1,1,1};
fillpolygon(bayangbatang, 4, putih3);
drawPolygon(bayangbatang,4);
point2D_t
bayangbatang2[4]={{200,510},{200,535},{203,535},{203,510}};
color_t putih4 ={1,1,1};
fillpolygon(bayangbatang2, 4, putih4);
drawPolygon(bayangbatang2,4);
point2D_t
tanggatgh1[4]={{140,10},{140,50},{150,50},{150,10}};
color_t hitam ={0,0,0};fillpolygon(tanggatgh1, 4, hitam);
drawPolygon(tanggatgh1,4);
point2D_t
tanggatgh2[4]={{210,10},{210,50},{220,50},{220,10}};
color_t hitam2 ={0,0,0};
fillpolygon(tanggatgh2, 4, hitam2);
-
8/12/2019 komputer grafik rizky
27/31
27
drawPolygon(tanggatgh2,4);
point2D_t
tangga2[4]={{10,10},{50,50},{310,50},{340,10}};
drawPolygon(tangga2,4);
point2D_t
petaktengah11[4]={{110,50},{100,70},{260,70},{250,50}};
drawPolygon(petaktengah11,4);
point2D_t
petaktengah22[4]={{100,70},{80,90},{280,90},{260,70}};
drawPolygon(petaktengah22,4);
point2D_t
petaktengah33[4]={{80,90},{70,110},{290,110},{280,90}};
drawPolygon(petaktengah33,4);
point2D_t
batang3[4]={{150,120},{170,520},{190,520},{210,120}};
drawPolygon(batang3,4);
point2D_tanaktangga[4]={{150,40},{150,45},{210,45},{210,40}};
drawPolygon(anaktangga,4);
point2D_t
anaktangga2[4]={{150,30},{150,35},{210,35},{210,30}};
drawPolygon(anaktangga2,4);
-
8/12/2019 komputer grafik rizky
28/31
28
point2D_t
anaktangga3[4]={{150,20},{150,25},{210,25},{210,20}};
drawPolygon(anaktangga3,4);
point2D_t
anaktangga4[4]={{150,10},{150,15},{210,15},{210,10}};
drawPolygon(anaktangga4,4);
}
void display(void)
{
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(500,640);
glutCreateWindow("MONUMEN NASIONAL JAKARTA");glClearColor(0.0,0.0,1.0,0.0);
gluOrtho2D(0.,350.,-5.,600.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
-
8/12/2019 komputer grafik rizky
29/31
29
Hasilnya :
-
8/12/2019 komputer grafik rizky
30/31
30
BAB IV
Analisa Hasil Percobaan
4.1TUJUAN1. Agar kita mengetahui fungsi-fungsi dari open GL2. Mengkaji beberapa pembuatan grafik menggunkan bahasa pemograman
menggunakan bahassa aplikasi dan bahasa pemograman
BAB V
Penutup5.1. KesimpulanGrafika komputer akhir-akhir ini mulai dirasa sangat penting dan mencakup hampir
semua bidang kehidupan seiring dengan semakin pentingnya sistem komputer dalam berbagai
kegiatan. Grafika komputer merupakan gambar atau grafik yang dihasilkan oleh komputer.
Teknik-teknik yang dipelajari dalam grafika komputer adalah teknik-teknik bagaimana
membuat atau manciptakan gambar dengan menggunakan komputer, salah satunya adalah
Teknik Transformasi tiga dimensi yaitu suatu model atau bentuk atau teknik memindahkan
atau mengubah nilai posisi objek dalam sistem koordinat tiga dimensi. Pemindahan objek ini
dapat diartikan sebagai pemindahan titik. Transformasi tiga dimensi ini mencakup proses
translasi, penskalaan, rotasi, dll.
Dari laporan tugas ini diketahui cara-cara memindahkan polygon dengan GL Translatef,
memutar objek dengan GL Rotatef, membuat polygon tersebut lebih besar atau lebih kecil
dengan menggunakan GL Scalef. Di samping perintah-perintah yang kami sebutkan di atas,
masih banyak lagi objek-objek yang dapat dihasilkan dengan menggunkan transformasi tiga
dimensi.
5.2. SaranDari pemaparan di atas maka penulis menyarankan kepada pembaca agar lebih
memperdalam lagi ilmu tentang grafika komputer untuk menghasilkan suatu grafik
atau gambar yang menarik.
-
8/12/2019 komputer grafik rizky
31/31
DAFTAR PUSAKA
http://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.html
http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.html
http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541
http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/
http://four07.wordpress.com/2013/09/13/materi-komputer-grafik/
http://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.htmlhttp://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.htmlhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.html