grafik 3d

24

Upload: denver

Post on 26-Jan-2016

74 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

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.

Apakah OpenGL ? OpenGL adalah Interface (library)

untuk software dalam berinteraksi dengan graphic hardware.

Tujuan OpenGL Powerfull. Multiplatform. Wide hardware support. Low level graphic.

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.

Bentuk Geometrik OpenGL

Format command OpenGL

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 2D

Membuat Persegi (GL_QUADS) Menggunakan scala, rotate, translasi

PROGRAM TRANSFORMASI 3D

Membuat Kubus dengan 6buah sisi (GL_QUADS) Menggunakan scala, rotasi, translasi