TujuanMahasiswa bisa membuat (create)
gambar menggunakan Open-GL dan bahasa C++.
Mahasiswa bisa membuat gambar 2D dan gambar 3D.
Mahasiswa dapat menerapkan prinsip-prinsip transformasi 2D dan 3D.
Mahasiswa dapat menerapkan shading dan pencahayaan pada obyek gambar
Mahasiswa dapat membuat morphing
TUJUAN PENGAJARANGRAFIKA KOMPUTER
Mempelajari bagaimana membuat grafik (gambar) yang tampak nyata dengan menggunakan program komputer.
Mempelajari berbagai macam bentuk transformasi yang dapat menampilkan perubahan atau gerakan gambar
Mempelajari bagaimana membuat elemen-elemen grafik dengan cara yang “smart”
MATERI GRAFIKA KOMPUTER
Pengenalan Grafika Komputer
Primitive DrawingGrafik 2-DimensiGrafik 3-DimensiMorphingShading dan Optical ViewSpline dan Bezier
Prasyarat Grafika KomputerMatematikaAljabar MatrikTeknik Pemrograman, khususnya yang menggunakan bahasa C++
Struktur Data dan Algoritma
Perangkat Yang DigunakanKomputer PCSistem Operasi Microsoft Windows atau
LinuxBahasa C++: dalam hal ini menggunakan
Microsoft Visual C++ untuk sistem operasi MS-Windows, dan g++ untuk sistem operasi Linux.
Open-GL, sebagai library untuk grafika komputer.
Apa Grafika Komputer ?Grafika komputer adalah gambar atau grafik yang dihasilkan oleh komputer.
Grafika komputer merupakan perangkat (tool) dasar yang digunakan untuk membuat gambar dengan komputer.
Dimana Grafik Yang Dibuat Dengan Komputer ini Digunakan
Seni, Entertainment dan Publishing, seperti produksi film, animasi, special effect, game komputer, web browsing, buku, slide, dan majalah
Image ProcessingMenampilkan proses yang sedang
berjalan (monitoring)Menampilkan simulasiCADVisualisasi analisa sains
Elemen-Elemen Dasar Grafika Komputer
PolylinesTextFilled regionsRaster images
Polyline adalah dereten garis-garis lurus yang berhubungan. Polyline ini adalah dasar dari
setiap pembuatan grafik.
HaettenschweilerHaettenschweiler BoldHaettenschweiler italic
Time New RomanTime New Roman boldTime New Roman italic
CourierCourier boldCourier italic
Filled-Region adalah bagaimana memberi (memblok) warna atau
pattern pada sebuah luasan
Raster image adalah penyajian gambar menggunakan matrik dari setiap sel gambar, dimana sebuah gambar didefinisikan sebagai array
dari besar-besaran numeris.1 1 1 1 11 0 0 0 11 0 2 0 11 2 0 2 12 0 1 0 2
Beberapa Device Dalam Grafika Komputer
Line-Drawing DisplayRaster DisplayIndexed Color dan The Lookup Table
Other Raster Display DevicesHard-Copy Raster Devices
TujuanMengenal dan mulai menulis program untuk
membuat gambarMempelajari dasar-dasar pembuatan grafik
dengan OpenGLMengembangkan beberapa perangkat dasar
untuk menggambar line, polyline dan polygon
OpenGLOpenGL adalah library yang khusus
menyediakan perangkat-perangkat pembuatan grafik.
OpenGL bekerja dalam bahasa COpenGL dapat bekerja pada beberapa
platform, seperti SGI, Unix, dan Windows
Cara Menginstall OpenGL pada Microsoft Windows
Ada 3 file penting dalam OpenGL yang akan digunakan dalam sistem operasi MS-Windows, yaitu glut.h, glut32.lib dan glut32.dll
Letakkan glut.h di direktori include pada Visual C (vc98/include)
Letakkan glut32.lib di direktori lib pada Visual C (vc98/lib)
Letakkan glut32.dll di direktori windows/system.
#include <glut.h>
void userdraw(){
static int tick=0;//program grafik ditulis disini
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);userdraw();glutSwapBuffers();
}
int main(int argc, char **argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);glutInitWindowPosition(100,100);glutInitWindowSize(640,480);glutCreateWindow(“my first Open GL");glClearColor(1.0,1.0,1.0,0.0);gluOrtho2D(0.,640.,-240.,240.);glutIdleFunc(display);glutDisplayFunc(display);glutMainLoop();return 0;}
glutInitWindowPosition(100,100);glutInitWindowSize(640,480);
Membuat windows dengan ukuran (640,480) dengan titik kiri atas jendela diletakkan pada posisi (100,100) di layar komputer
glutCreateWindow(“my first Open GL");
Memberi judul pada windows dengan “my first Open GL”
glClearColor(1.0,1.0,1.0,0.0);Mendefinisikan warna dari windows yang dibuat dengan warna (1,1,1) yaitu warna putih
gluOrtho2D(0.,640.,-240.,240.);
Mendefinisikan besarnya sistem koordinat dengan range sumbu x adalah [0,640] dan range untuk sumbu y adalah [-240,240]
Drawing Windows
(0,0)x
y (640,480)
(640,0)
(0,480)
glVertex2i(x,y)Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan sebagai bilangan bulat (integer)
glVertex2f(x,y)
Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan
sebagai bilangan pecahan (float/double)
glVertex2d(x,y)
glBegin(GL_POINTS);glVertex2i(100,50);glVertex2i(100,130);glVertex2i(150,130);
glEnd();
My first Drawing
void drawDot(int x, int y){
glBegin(GL_POINTS);glVertex2i(x,y);glEnd();
}
void drawDot(float x, float y){
glBegin(GL_POINTS);glVertex2f(x,y);glEnd();
}
Fungsi ini digunakan bila x
dan y didefinisikan
sebagai integer
Fungsi ini digunakan bila x
dan y didefinisikan sebagai float
Untuk membuat garis diperlukan library GL_LINES dengan
menyatkan titik awal dan titik akhir dari garis.
glBegin(GL_LINES);glVertex2i(100,100);glVertex2i(200,150);
glEnd();
My first drawing
(100,100)
(200,150)
void drawLine(int x1,int y1,int x2,int y2){
glBegin(GL_LINES);glVertex2i(x1,y1);glVertex2i(x2,y2);
glEnd();}
void drawLine(float x1,float y1,float x2,float y2){
glBegin(GL_LINES);glVertex2f(x1,y1);glVertex2f(x2,y2);
glEnd();}
Polyline adalah sekumpulan garis yang terhubung satu dengan yang lainnya
hingga membentuk sebuah obyek gambar.
glBegin(GL_LINE_STRIP);glVertex2i(x1,y1);glVertex2i(x2,y2);glVertex2i(x3,y3);……………………………………………glVertex2i(xn,yn);
glEnd();
glBegin(GL_LINE_STRIP);glVertex2i(100,100);glVertex2i(200,150);glVertex2i(300,50);
glEnd();
My first drawing
(100,100)
(200,150)
(300,50)
Polyline adalah sekumpulan garis yang terhubung satu dengan yang lainnya dan berbentuk kurva tertutup hingga membentuk sebuah obyek gambar.
glBegin(GL_LINE_LOOP);glVertex2i(x1,y1);glVertex2i(x2,y2);glVertex2i(x3,y3);……………………………………………glVertex2i(xn,yn);
glEnd();
glBegin(GL_LINE_LOOP);glVertex2i(100,100);glVertex2i(200,150);glVertex2i(300,50);
glEnd();
My first drawing
(100,100)
(200,150)
(300,50)
Membuat gambar rumah seperti gambar berikut:
My House
Membuat gambar TV seperti gambar berikut:
My TV