grafik 3d
DESCRIPTION
Grafik 3D. 3D Pada Grafik Komputer. 3D pada layar yang 2D ? Perspektif + 2D = 3D ( terlihat 3D ) Data diolah secara 3D. namun ditampilkan dengan proyeksi perspektif menjadi 2D. Sistem Koordinat 3D. terdiri dari 3 sumbu x,y,z. OpenGL. Apakah OpenGL ?. - PowerPoint PPT PresentationTRANSCRIPT
3D Pada Grafik Komputer 3D pada layar yang 2D ? Perspektif + 2D = 3D ( terlihat 3D ) Data diolah secara 3D. namun
ditampilkan dengan proyeksi perspektif menjadi 2D.
Apakah OpenGL ? OpenGL adalah Interface (library)
untuk software dalam berinteraksi dengan graphic hardware.
Sejarah OpenGL Dikembangkan pertama oleh Silicon
Graphic Inc. dengan nama IRIS GL. Diperkenalkan pertama ke publik
dengan nama OpenGL, 1 Juli 1992, dengan versi 1.1
Siapakah Yang Bertanggung Jawab Terhadap OpenGL ?
ARB (Architectural Review Board) Terdiri dari Kalangan industri,
organisasi, dan perorangan yang berkepentingan terhadap OpenGL, seperti NVIDIA, ATi, Intel, HP, IBM, Sun, 3DLabs, dll.
Contoh Aplikasi yang Menggunakan OpenGL ?
Hampir semua game 2D/3D modern mendukung OpenGL.
3DMax, Anim8or, Maya, Blender, dan banyak Aplikasi editing dan animasi 3D.
- glfw - Library tambahan yang menjambatani
antara platform (OS) dengan OpenGL. Bukan bagian resmi dari OpenGL! Multiplatform.
OpenGL sebagai Mesin State
OpenGL mengikuti arsitektur mesin state.
Dilakukan dengan menyalakan (enable) dan mematikan (disable) sesuatu fitur yang diinginkan, misal lighting, texture, dll.
Kemampuan OpenGL Geometrik : point, line, polygon. Citra/Image : bitmaps, Texture
mapping Rendering kondisi : Warna, Lighting,
Material.
Menggambar Bentuk Geometrik
dimulai dengan glBegin(nama bentuk); diakhiri dengan glEnd(); Contoh : glBegin( GL_LINES );
glVertex3f(-1.0f, 1.0f, 1.0f );
glVertex3f( 1.0f,-1.0f, 1.0f );
glEnd();
Warna glColor3f( r, g, b ); glColor3ub( r, g, b );Contoh :glBegin( GL_LINES );
glColor3f( 1.0, 0.0, 0.0 );glVertex3f(-1.0f, 1.0f, 1.0f );glColor3f( 0.0, 1.0, 0.0 );glVertex3f( 1.0f,-1.0f, 1.0f );
glEnd();
Perpindahan (Translasi)
glTranslatef( x, y, z ) glTranslated( x, y, z )
Contoh :
glTranslatef( 1.0f, 0.0f, 0.0f );
glBegin( GL_LINES );
glVertex3f(-1.0f, 1.0f, 1.0f );
glVertex3f( 1.0f,-1.0f, 1.0f );
glEnd();
Penskalaan (Scale) glScalef( xf, yf, zf );
Contoh :
glScalef( 2.0f, 2.0f, 0.0f );glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();
Rotasi (Rotate) glRotatef( sudut, sx, sy, sz );
Contoh :
glRotatef( 45.0f, 0.0f, 0.0f, 1.0f );glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();
CONTOH PROGRAM
Membuat Garis pada OpenGL
int main() {
mulaimodegrafik("..\\BGI\\");
buatKotak(600,400,30,100,10);
buatKotak(100,330,30,160,10);
buatKotak(70,300,30,190,10);
buatKotak(600,160,530,330,10);
buatKotak(600,190,560,300,10);
buatGaris(312,100,312,400,10);
buatLingkaran(310,250,60,20);
buatLingkaran(312,250,5,20);
buatGaris(370,80,600,80,35);
buatGaris(30,80,250,80,30);
getch();
tutupmodegrafik();
return 0;
}
CONTOH PROGRAMMembuat Lingkaran, Garis pada OpenGL
int main()
{ mulaimodegrafik("..\\BGI\\");
buatKotak(420,400,200,150,30);
buatKotak(415,395,205,155,20);
buatKotak(370,250,255,150,30);
buatKotak(300,240,270,160,10);
buatLingkaran(312,300,30,15);
buatLingkaran(312,300,28,15);
getch();
tutupmodegrafik();
return 0;
}
PROGRAM TRANSFORMASI 3D
Membuat Kubus dengan 6buah sisi (GL_QUADS) Menggunakan scala, rotasi, translasi