SlideShare a Scribd company logo
1 of 7
1 | Grafika Komputer
BAB I
PENDAHULUAN
Grafik komputer adalah bagian dari ilmu komputer yang berkaitan dengan
pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari
grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi
grafik komputer 3D, pemrosesan citra (image processing), dan pengenalan pola
(pattern recognition). Dan di era globalisasi saat ini, grafik komputer merupakan
bagian ilmu teknologi yang sangat berkembang. Salah satunya contohnya banyak
industri film, yang sudah menggunakan grafik komputer tersebut untuk
menghasilkan film-film 3D sangat mudah dan cepat dan memanjakan mata anda
yang sedang menyaksikan film-film tersebut.
Aplikasi grafika komputer dapar dibagi mejadi beberapa kelompok, yaitu :
 Aplikasi pengolah bentuk dan citra
Aplikasi Pengolah bentuk dan Citra merupakan aplikasi yang banyak
digunakan oleh Desaigner grafis dan ilustrator.
 Aplikasi pengolah bentuk
Aplikasi pengoleh Bentuk ditujukan untuk mengolah bentuk (Shape) yang
disusun dari serangkaian garis sedangkan Aplikasi pengolah Citra ditujukan
untuk memanipulasi sekumpulan titik yang membentuk sebuah gambar
(Citra).
 Aplikasi presentasi
Aplikasi presentasi banyak digunakan oleh kalangan bisnis dalam
mempresentasikan ide-ide ataupun konsep-konsep. Dalam perkembangannya,
aplikasi presentasi tidak hanya sekedar menampilkan slide ke layar tetapi juga
dilengkapi dengan fasilitas animasi. (contoh aplikasi presentasi antara lain :
Power point, Marcomedia Flash)
 Aplikasi CAD
Aplikasi CAD banyak digunkan dalam bidang Teknik. Dengan menggunakan
CAD seorang perancang teknik tidak lagi menggunakan meja gambar dan
kertas tetapi mengunakan komputer sebagai media. Contoh Aplikasi CAD .
Contoh aplikasi CAD antara lain AutoCad untuk aplikasi teknik/rekayasa
2 | Grafika Komputer
bangunan/mesin,Protel untuk aplikasi rekyasa elektronik Home Designer untuk
aplikasi design anterior dan NuGraf untuk aplikasi pemodelan benda tiga
dimensi.
 Animasi
Aplikasi animasi merupakan aplikasi yang banyak digunakan dalam bidang
periklanan dan Film. Dengan mengunakan aplikasi animasi, seorang kreator
dapat menciptakan benda-benda maya yang dapat bergerak dalam dunia nyata.
Contoh aplikasi animasi antara lain Autodesk 3D Studio, Extreme 3D,
Animator Pro, Ray Dream Studio. Representas Data Representasi data
merupakan salah satu cara melihat data dalam bentuk yang lebih mudah
diamati. Aplikasi representasi data banyak digunakan dalam bidang analisa
statistik dan geografi. Contoh apliasi untuk merepresentasikan data geografis
antara lain ArcInfor, MapInfo.
 Permainan
Saat ini hampir tidak ada aplikasi permainan komputer yang tidak
memanfaatkan modus grafik. Aplikasi permainan antara lain aplikasi tembak
dan lari (Shoot and run), Aplikasi permainan strategi (war games), dll.
3 | Grafika Komputer
BAB II
PEMBAHASAN
#include <windows.h>
#include <glut.h>
#include "tutorial14.h"
#include "texture.h"
#include "3dsloader.h"
// The width and height of your window, change them as you like
int screen_width=640;
int screen_height=480;
// Absolute rotation values (0-359 degrees) and rotation
increments for each frame
double rotation_x=0, rotation_x_increment=0.05;
double rotation_y=0, rotation_y_increment=0.03;
double rotation_z=0, rotation_z_increment=0.05;
// Flag for rendering as lines or filled polygons
int filling=1; //0=OFF 1=ON
//Now the object is generic, the cube has annoyed us a little bit,
or not?
obj_type object;
void init(void)
{
glClearColor(1.0, 0.1, 0.0, 0.0); // This clear the
background color to black
glShadeModel(GL_SMOOTH); // Type of shading for the polygons
// Viewport transformation
glViewport(0,0,screen_width,screen_height);
// Projection transformation
glMatrixMode(GL_PROJECTION); // Specifies which matrix stack
is the target for matrix operations
glLoadIdentity(); // We initialize the projection matrix as
identity
gluPerspective(45.0f,(GLfloat)screen_width/(GLfloat)screen_h
eight,10.0f, 10000.0f); // We define the "viewing volume"
glEnable(GL_DEPTH_TEST); // We enable the depth test (also
called z buffer)
glPolygonMode (GL_FRONT_AND_BACK, GL_FILL); // Polygon
rasterization mode (polygon filled)
glEnable(GL_TEXTURE_2D); // This Enable the Texture mapping
Load3DS (&object,"test7.3ds");
object.id_texture=LoadBitmap("ksc_inside.bmp"); // The
Function LoadBitmap() return the current texture ID
// If the last function returns -1 it means the file was not
found so we exit from the program
if (object.id_texture==-1)
4 | Grafika Komputer
{
MessageBox(NULL,"Image file: ksc_inside.bmp not
found", "Zetadeck",MB_OK | MB_ICONERROR);
exit (0);
}
}
void resize (int width, int height)
{
screen_width=width; // We obtain the new screen width values
and store it
screen_height=height; // Height value
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // We
clear both the color and the depth buffer so to draw the next
frame
glViewport(0,0,screen_width,screen_height); // Viewport
transformation
glMatrixMode(GL_PROJECTION); // Projection transformation
glLoadIdentity(); // We initialize the projection matrix as
identity
gluPerspective(45.0f,(GLfloat)screen_width/(GLfloat)screen_height,
10.0f, 10000.0f);
glutPostRedisplay (); // This command redraw the scene (it
calls the same routine of glutDisplayFunc)
}
void keyboard (unsigned char key, int x, int y)
{
switch (key)
{
case ' ':
rotation_x_increment=1;
rotation_y_increment=0;
rotation_z_increment=1;
break;
case 'r': case 'R':
if (filling==0)
{
glPolygonMode (GL_FRONT_AND_BACK,
GL_FILL); // Polygon rasterization mode (polygon filled)
filling=1;
}
else
{
glPolygonMode (GL_FRONT_AND_BACK,
GL_LINE); // Polygon rasterization mode (polygon outlined)
filling=0;
}
break;
}
}
void keyboard_s (int key, int x, int y)
{
switch (key)
{
case GLUT_KEY_UP:
5 | Grafika Komputer
rotation_x_increment = rotation_x_increment
+0.010;
break;
case GLUT_KEY_DOWN:
rotation_x_increment = rotation_x_increment -
0.010;
break;
case GLUT_KEY_LEFT:
rotation_y_increment = rotation_y_increment
+0.010;
break;
case GLUT_KEY_RIGHT:
rotation_y_increment = rotation_y_increment -
0.010;
break;
}
}
void display(void)
{
int l_index;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW); // Modeling transformation
glLoadIdentity(); // Initialize the model matrix as identity
glTranslatef(0.0,0.0,-50); // We move the object forward
(the model matrix is multiplied by the translation matrix)
rotation_x = rotation_x + rotation_x_increment;
rotation_y = rotation_y + rotation_y_increment;
rotation_z = rotation_z + rotation_z_increment;
if (rotation_x > 359) rotation_x = 0;
if (rotation_y > 359) rotation_y = 0;
if (rotation_z > 359) rotation_z = 0;
glRotatef(rotation_x,1.0,0.0,0.0); // Rotations of the
object (the model matrix is multiplied by the rotation matrices)
glRotatef(rotation_y,0.0,1.0,0.0);
glRotatef(rotation_z,0.0,0.0,1.0);
glBindTexture(GL_TEXTURE_2D, object.id_texture); // We set
the active texture
glBegin(GL_TRIANGLES); // glBegin and glEnd delimit the
vertices that define a primitive (in our case triangles)
for (l_index=0;l_index<object.polygons_qty;l_index++)
{
//----------------- FIRST VERTEX -----------------
// Texture coordinates of the first vertex
glTexCoord2f( object.mapcoord[
object.polygon[l_index].a ].u,
object.mapcoord[
object.polygon[l_index].a ].v);
// Coordinates of the first vertex
glVertex3f( object.vertex[ object.polygon[l_index].a
].x,
6 | Grafika Komputer
object.vertex[
object.polygon[l_index].a ].y,
object.vertex[
object.polygon[l_index].a ].z);
//Vertex definition
//----------------- SECOND VERTEX -----------------
// Texture coordinates of the second vertex
glTexCoord2f( object.mapcoord[ object.polygon[l_index].b
].u,
object.mapcoord[
object.polygon[l_index].b ].v);
// Coordinates of the second vertex
glVertex3f( object.vertex[ object.polygon[l_index].b
].x,
object.vertex[ object.polygon[l_index].b
].y,
object.vertex[ object.polygon[l_index].b
].z);
//----------------- THIRD VERTEX -----------------
// Texture coordinates of the third vertex
glTexCoord2f( object.mapcoord[
object.polygon[l_index].c ].u,
object.mapcoord[
object.polygon[l_index].c ].v);
// Coordinates of the Third vertex
glVertex3f( object.vertex[ object.polygon[l_index].c
].x,
object.vertex[ object.polygon[l_index].c
].y,
object.vertex[ object.polygon[l_index].c
].z);
}
glEnd();
glFlush(); // This force the execution of OpenGL commands
glutSwapBuffers(); // In double buffered mode we invert the
positions of the visible buffer and the writing buffer
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(screen_width,screen_height);
glutInitWindowPosition(0,0);
glutCreateWindow("CREATED BY : Doni Nuriksa A.M (1006037)");
glutDisplayFunc(display);
glutIdleFunc(display);
glutReshapeFunc (resize);
glutKeyboardFunc (keyboard);
glutSpecialFunc (keyboard_s);
init();
glutMainLoop();
7 | Grafika Komputer
return(0);
}
Hasil Output :

More Related Content

What's hot

Finite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOFinite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOahmad haidaroh
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
Bab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijitalBab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijitalSyafrizal
 
Pembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksPembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksIpit Sabrina
 
Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Dian Arisona
 
229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhaniDex Dun
 
Metode numerik pada persamaan diferensial (new)
Metode numerik pada persamaan diferensial (new)Metode numerik pada persamaan diferensial (new)
Metode numerik pada persamaan diferensial (new)Khubab Basari
 
MAKALAH TENTANG ALGORITMA GENETIKA
MAKALAH TENTANG ALGORITMA GENETIKAMAKALAH TENTANG ALGORITMA GENETIKA
MAKALAH TENTANG ALGORITMA GENETIKAImanSihaloho
 
Determinan Matriks ( Aljabar Linear Elementer )
Determinan Matriks ( Aljabar Linear Elementer )Determinan Matriks ( Aljabar Linear Elementer )
Determinan Matriks ( Aljabar Linear Elementer )Kelinci Coklat
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelPenyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelBAIDILAH Baidilah
 
Bab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluangBab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluangArif Windiargo
 
Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Dedy Kurniawan
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1Maya Umami
 

What's hot (20)

Finite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOFinite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBO
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
Bab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijitalBab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijital
 
Pembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksPembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi Matriks
 
Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2
 
229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani
 
Metode numerik pada persamaan diferensial (new)
Metode numerik pada persamaan diferensial (new)Metode numerik pada persamaan diferensial (new)
Metode numerik pada persamaan diferensial (new)
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Materi Aljabar linear
Materi Aljabar linearMateri Aljabar linear
Materi Aljabar linear
 
MAKALAH TENTANG ALGORITMA GENETIKA
MAKALAH TENTANG ALGORITMA GENETIKAMAKALAH TENTANG ALGORITMA GENETIKA
MAKALAH TENTANG ALGORITMA GENETIKA
 
Determinan Matriks ( Aljabar Linear Elementer )
Determinan Matriks ( Aljabar Linear Elementer )Determinan Matriks ( Aljabar Linear Elementer )
Determinan Matriks ( Aljabar Linear Elementer )
 
Iterasi jacobi
Iterasi jacobiIterasi jacobi
Iterasi jacobi
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelPenyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
 
Bab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluangBab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluang
 
Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "
 
Desain Top Down
Desain Top DownDesain Top Down
Desain Top Down
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1
 

Viewers also liked

Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Ainun Najib
 
Laporan Praktikum Aplikasi Komputer Multimedia
Laporan Praktikum Aplikasi Komputer MultimediaLaporan Praktikum Aplikasi Komputer Multimedia
Laporan Praktikum Aplikasi Komputer MultimediaAMJ Premium Fashion
 
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...Neni Susanti
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfikLela Warni
 
Uts p kn genap 2016 2017 ix
Uts p kn genap 2016 2017 ixUts p kn genap 2016 2017 ix
Uts p kn genap 2016 2017 ixsopyanmaolana
 

Viewers also liked (8)

Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1
 
Buku grafkom
Buku grafkomBuku grafkom
Buku grafkom
 
Laporan Praktikum Aplikasi Komputer Multimedia
Laporan Praktikum Aplikasi Komputer MultimediaLaporan Praktikum Aplikasi Komputer Multimedia
Laporan Praktikum Aplikasi Komputer Multimedia
 
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...
menentukan posisi titik koordinat (Revisi, siti nur khoirun nisyak nim 128620...
 
Analisa Tutorial Open GL
Analisa Tutorial Open GLAnalisa Tutorial Open GL
Analisa Tutorial Open GL
 
Sinopsis novel
Sinopsis novelSinopsis novel
Sinopsis novel
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfik
 
Uts p kn genap 2016 2017 ix
Uts p kn genap 2016 2017 ixUts p kn genap 2016 2017 ix
Uts p kn genap 2016 2017 ix
 

Similar to GRAFIKA 3D

Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1Hanz Skyblue
 
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxkomzud
 
Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Bayu Radityo
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan gameFahuda E
 
Rev modul grafkom 3
Rev   modul grafkom 3Rev   modul grafkom 3
Rev modul grafkom 3Yusi Aisyah
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...Anindya N. Rafitricia
 
2414_GRAFKOM terapi dikit.docx
2414_GRAFKOM terapi dikit.docx2414_GRAFKOM terapi dikit.docx
2414_GRAFKOM terapi dikit.docxDoniapriadi
 
Tutorial dasar-pemrograman-google-maps-api
Tutorial dasar-pemrograman-google-maps-apiTutorial dasar-pemrograman-google-maps-api
Tutorial dasar-pemrograman-google-maps-apiGien Rockmantic
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfDikywahyu5
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfgunturwijaya7
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamentalSyafrizal
 
Tugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komTugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komRyan Santosa
 

Similar to GRAFIKA 3D (20)

Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1
 
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
 
Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4
 
Open GL Tutorial04
Open GL Tutorial04Open GL Tutorial04
Open GL Tutorial04
 
ipro 1
ipro 1ipro 1
ipro 1
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan game
 
Rev modul grafkom 3
Rev   modul grafkom 3Rev   modul grafkom 3
Rev modul grafkom 3
 
Komputer grafik 1
Komputer grafik 1Komputer grafik 1
Komputer grafik 1
 
Komputer grafik 1
Komputer grafik 1Komputer grafik 1
Komputer grafik 1
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...
Pembuatan model 3 dimensi dan basis data spasial gedung teknik geomatika its ...
 
2414_GRAFKOM terapi dikit.docx
2414_GRAFKOM terapi dikit.docx2414_GRAFKOM terapi dikit.docx
2414_GRAFKOM terapi dikit.docx
 
Tutorial dasar-pemrograman-google-maps-api
Tutorial dasar-pemrograman-google-maps-apiTutorial dasar-pemrograman-google-maps-api
Tutorial dasar-pemrograman-google-maps-api
 
2 pengolahan_citra
 2 pengolahan_citra 2 pengolahan_citra
2 pengolahan_citra
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
 
Dasar java mobile
Dasar java mobileDasar java mobile
Dasar java mobile
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamental
 
Tugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komTugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t kom
 
Grafik 3 dimensi
Grafik 3 dimensiGrafik 3 dimensi
Grafik 3 dimensi
 

More from Ihsan Nurhalim

Perkembangan Sistem operasi
Perkembangan Sistem operasiPerkembangan Sistem operasi
Perkembangan Sistem operasiIhsan Nurhalim
 
Pendekatan untuk-membangun-sistem
Pendekatan untuk-membangun-sistemPendekatan untuk-membangun-sistem
Pendekatan untuk-membangun-sistemIhsan Nurhalim
 
Proposal aplikasi pariwisata berbasis web
Proposal aplikasi pariwisata berbasis webProposal aplikasi pariwisata berbasis web
Proposal aplikasi pariwisata berbasis webIhsan Nurhalim
 
Materi Perkuliahan Pengelolaan citra 2
Materi Perkuliahan Pengelolaan citra 2Materi Perkuliahan Pengelolaan citra 2
Materi Perkuliahan Pengelolaan citra 2Ihsan Nurhalim
 
Materi Perkuliahan Pengelolaan citra 1
Materi Perkuliahan  Pengelolaan citra 1Materi Perkuliahan  Pengelolaan citra 1
Materi Perkuliahan Pengelolaan citra 1Ihsan Nurhalim
 
Materi Perkuliahan Pengelolaan citra 3
Materi Perkuliahan Pengelolaan citra 3Materi Perkuliahan Pengelolaan citra 3
Materi Perkuliahan Pengelolaan citra 3Ihsan Nurhalim
 
Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Ihsan Nurhalim
 
Jaringan Komputer Pertemuan 6-ip-addresssubnetting
Jaringan Komputer Pertemuan 6-ip-addresssubnettingJaringan Komputer Pertemuan 6-ip-addresssubnetting
Jaringan Komputer Pertemuan 6-ip-addresssubnettingIhsan Nurhalim
 
Jaringan Komputer Pertemuan 4-metode-akses
Jaringan Komputer Pertemuan 4-metode-aksesJaringan Komputer Pertemuan 4-metode-akses
Jaringan Komputer Pertemuan 4-metode-aksesIhsan Nurhalim
 
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ip
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ipJaringan Komputer Pertemuan 3-referensi-model-tcp-ip
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ipIhsan Nurhalim
 
Jaringan Komputer Pertemuan 2-referensi-model-osi
Jaringan Komputer Pertemuan 2-referensi-model-osiJaringan Komputer Pertemuan 2-referensi-model-osi
Jaringan Komputer Pertemuan 2-referensi-model-osiIhsan Nurhalim
 
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputer
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputerJaringan Komputer Pertemuan 1-pengenalan-jaringan-komputer
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputerIhsan Nurhalim
 
Jaringan Komputer Pertemuan 5- ip adress
Jaringan Komputer Pertemuan 5- ip adressJaringan Komputer Pertemuan 5- ip adress
Jaringan Komputer Pertemuan 5- ip adressIhsan Nurhalim
 
Basis Data Praktikum modul SQL
Basis Data Praktikum modul SQLBasis Data Praktikum modul SQL
Basis Data Praktikum modul SQLIhsan Nurhalim
 
Praktikum basis Data SQL
Praktikum basis Data SQLPraktikum basis Data SQL
Praktikum basis Data SQLIhsan Nurhalim
 

More from Ihsan Nurhalim (16)

Perkembangan Sistem operasi
Perkembangan Sistem operasiPerkembangan Sistem operasi
Perkembangan Sistem operasi
 
Dasar sistem operasi
Dasar sistem operasiDasar sistem operasi
Dasar sistem operasi
 
Pendekatan untuk-membangun-sistem
Pendekatan untuk-membangun-sistemPendekatan untuk-membangun-sistem
Pendekatan untuk-membangun-sistem
 
Proposal aplikasi pariwisata berbasis web
Proposal aplikasi pariwisata berbasis webProposal aplikasi pariwisata berbasis web
Proposal aplikasi pariwisata berbasis web
 
Materi Perkuliahan Pengelolaan citra 2
Materi Perkuliahan Pengelolaan citra 2Materi Perkuliahan Pengelolaan citra 2
Materi Perkuliahan Pengelolaan citra 2
 
Materi Perkuliahan Pengelolaan citra 1
Materi Perkuliahan  Pengelolaan citra 1Materi Perkuliahan  Pengelolaan citra 1
Materi Perkuliahan Pengelolaan citra 1
 
Materi Perkuliahan Pengelolaan citra 3
Materi Perkuliahan Pengelolaan citra 3Materi Perkuliahan Pengelolaan citra 3
Materi Perkuliahan Pengelolaan citra 3
 
Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1
 
Jaringan Komputer Pertemuan 6-ip-addresssubnetting
Jaringan Komputer Pertemuan 6-ip-addresssubnettingJaringan Komputer Pertemuan 6-ip-addresssubnetting
Jaringan Komputer Pertemuan 6-ip-addresssubnetting
 
Jaringan Komputer Pertemuan 4-metode-akses
Jaringan Komputer Pertemuan 4-metode-aksesJaringan Komputer Pertemuan 4-metode-akses
Jaringan Komputer Pertemuan 4-metode-akses
 
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ip
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ipJaringan Komputer Pertemuan 3-referensi-model-tcp-ip
Jaringan Komputer Pertemuan 3-referensi-model-tcp-ip
 
Jaringan Komputer Pertemuan 2-referensi-model-osi
Jaringan Komputer Pertemuan 2-referensi-model-osiJaringan Komputer Pertemuan 2-referensi-model-osi
Jaringan Komputer Pertemuan 2-referensi-model-osi
 
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputer
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputerJaringan Komputer Pertemuan 1-pengenalan-jaringan-komputer
Jaringan Komputer Pertemuan 1-pengenalan-jaringan-komputer
 
Jaringan Komputer Pertemuan 5- ip adress
Jaringan Komputer Pertemuan 5- ip adressJaringan Komputer Pertemuan 5- ip adress
Jaringan Komputer Pertemuan 5- ip adress
 
Basis Data Praktikum modul SQL
Basis Data Praktikum modul SQLBasis Data Praktikum modul SQL
Basis Data Praktikum modul SQL
 
Praktikum basis Data SQL
Praktikum basis Data SQLPraktikum basis Data SQL
Praktikum basis Data SQL
 

GRAFIKA 3D

  • 1. 1 | Grafika Komputer BAB I PENDAHULUAN Grafik komputer adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi grafik komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Dan di era globalisasi saat ini, grafik komputer merupakan bagian ilmu teknologi yang sangat berkembang. Salah satunya contohnya banyak industri film, yang sudah menggunakan grafik komputer tersebut untuk menghasilkan film-film 3D sangat mudah dan cepat dan memanjakan mata anda yang sedang menyaksikan film-film tersebut. Aplikasi grafika komputer dapar dibagi mejadi beberapa kelompok, yaitu :  Aplikasi pengolah bentuk dan citra Aplikasi Pengolah bentuk dan Citra merupakan aplikasi yang banyak digunakan oleh Desaigner grafis dan ilustrator.  Aplikasi pengolah bentuk Aplikasi pengoleh Bentuk ditujukan untuk mengolah bentuk (Shape) yang disusun dari serangkaian garis sedangkan Aplikasi pengolah Citra ditujukan untuk memanipulasi sekumpulan titik yang membentuk sebuah gambar (Citra).  Aplikasi presentasi Aplikasi presentasi banyak digunakan oleh kalangan bisnis dalam mempresentasikan ide-ide ataupun konsep-konsep. Dalam perkembangannya, aplikasi presentasi tidak hanya sekedar menampilkan slide ke layar tetapi juga dilengkapi dengan fasilitas animasi. (contoh aplikasi presentasi antara lain : Power point, Marcomedia Flash)  Aplikasi CAD Aplikasi CAD banyak digunkan dalam bidang Teknik. Dengan menggunakan CAD seorang perancang teknik tidak lagi menggunakan meja gambar dan kertas tetapi mengunakan komputer sebagai media. Contoh Aplikasi CAD . Contoh aplikasi CAD antara lain AutoCad untuk aplikasi teknik/rekayasa
  • 2. 2 | Grafika Komputer bangunan/mesin,Protel untuk aplikasi rekyasa elektronik Home Designer untuk aplikasi design anterior dan NuGraf untuk aplikasi pemodelan benda tiga dimensi.  Animasi Aplikasi animasi merupakan aplikasi yang banyak digunakan dalam bidang periklanan dan Film. Dengan mengunakan aplikasi animasi, seorang kreator dapat menciptakan benda-benda maya yang dapat bergerak dalam dunia nyata. Contoh aplikasi animasi antara lain Autodesk 3D Studio, Extreme 3D, Animator Pro, Ray Dream Studio. Representas Data Representasi data merupakan salah satu cara melihat data dalam bentuk yang lebih mudah diamati. Aplikasi representasi data banyak digunakan dalam bidang analisa statistik dan geografi. Contoh apliasi untuk merepresentasikan data geografis antara lain ArcInfor, MapInfo.  Permainan Saat ini hampir tidak ada aplikasi permainan komputer yang tidak memanfaatkan modus grafik. Aplikasi permainan antara lain aplikasi tembak dan lari (Shoot and run), Aplikasi permainan strategi (war games), dll.
  • 3. 3 | Grafika Komputer BAB II PEMBAHASAN #include <windows.h> #include <glut.h> #include "tutorial14.h" #include "texture.h" #include "3dsloader.h" // The width and height of your window, change them as you like int screen_width=640; int screen_height=480; // Absolute rotation values (0-359 degrees) and rotation increments for each frame double rotation_x=0, rotation_x_increment=0.05; double rotation_y=0, rotation_y_increment=0.03; double rotation_z=0, rotation_z_increment=0.05; // Flag for rendering as lines or filled polygons int filling=1; //0=OFF 1=ON //Now the object is generic, the cube has annoyed us a little bit, or not? obj_type object; void init(void) { glClearColor(1.0, 0.1, 0.0, 0.0); // This clear the background color to black glShadeModel(GL_SMOOTH); // Type of shading for the polygons // Viewport transformation glViewport(0,0,screen_width,screen_height); // Projection transformation glMatrixMode(GL_PROJECTION); // Specifies which matrix stack is the target for matrix operations glLoadIdentity(); // We initialize the projection matrix as identity gluPerspective(45.0f,(GLfloat)screen_width/(GLfloat)screen_h eight,10.0f, 10000.0f); // We define the "viewing volume" glEnable(GL_DEPTH_TEST); // We enable the depth test (also called z buffer) glPolygonMode (GL_FRONT_AND_BACK, GL_FILL); // Polygon rasterization mode (polygon filled) glEnable(GL_TEXTURE_2D); // This Enable the Texture mapping Load3DS (&object,"test7.3ds"); object.id_texture=LoadBitmap("ksc_inside.bmp"); // The Function LoadBitmap() return the current texture ID // If the last function returns -1 it means the file was not found so we exit from the program if (object.id_texture==-1)
  • 4. 4 | Grafika Komputer { MessageBox(NULL,"Image file: ksc_inside.bmp not found", "Zetadeck",MB_OK | MB_ICONERROR); exit (0); } } void resize (int width, int height) { screen_width=width; // We obtain the new screen width values and store it screen_height=height; // Height value glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // We clear both the color and the depth buffer so to draw the next frame glViewport(0,0,screen_width,screen_height); // Viewport transformation glMatrixMode(GL_PROJECTION); // Projection transformation glLoadIdentity(); // We initialize the projection matrix as identity gluPerspective(45.0f,(GLfloat)screen_width/(GLfloat)screen_height, 10.0f, 10000.0f); glutPostRedisplay (); // This command redraw the scene (it calls the same routine of glutDisplayFunc) } void keyboard (unsigned char key, int x, int y) { switch (key) { case ' ': rotation_x_increment=1; rotation_y_increment=0; rotation_z_increment=1; break; case 'r': case 'R': if (filling==0) { glPolygonMode (GL_FRONT_AND_BACK, GL_FILL); // Polygon rasterization mode (polygon filled) filling=1; } else { glPolygonMode (GL_FRONT_AND_BACK, GL_LINE); // Polygon rasterization mode (polygon outlined) filling=0; } break; } } void keyboard_s (int key, int x, int y) { switch (key) { case GLUT_KEY_UP:
  • 5. 5 | Grafika Komputer rotation_x_increment = rotation_x_increment +0.010; break; case GLUT_KEY_DOWN: rotation_x_increment = rotation_x_increment - 0.010; break; case GLUT_KEY_LEFT: rotation_y_increment = rotation_y_increment +0.010; break; case GLUT_KEY_RIGHT: rotation_y_increment = rotation_y_increment - 0.010; break; } } void display(void) { int l_index; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); // Modeling transformation glLoadIdentity(); // Initialize the model matrix as identity glTranslatef(0.0,0.0,-50); // We move the object forward (the model matrix is multiplied by the translation matrix) rotation_x = rotation_x + rotation_x_increment; rotation_y = rotation_y + rotation_y_increment; rotation_z = rotation_z + rotation_z_increment; if (rotation_x > 359) rotation_x = 0; if (rotation_y > 359) rotation_y = 0; if (rotation_z > 359) rotation_z = 0; glRotatef(rotation_x,1.0,0.0,0.0); // Rotations of the object (the model matrix is multiplied by the rotation matrices) glRotatef(rotation_y,0.0,1.0,0.0); glRotatef(rotation_z,0.0,0.0,1.0); glBindTexture(GL_TEXTURE_2D, object.id_texture); // We set the active texture glBegin(GL_TRIANGLES); // glBegin and glEnd delimit the vertices that define a primitive (in our case triangles) for (l_index=0;l_index<object.polygons_qty;l_index++) { //----------------- FIRST VERTEX ----------------- // Texture coordinates of the first vertex glTexCoord2f( object.mapcoord[ object.polygon[l_index].a ].u, object.mapcoord[ object.polygon[l_index].a ].v); // Coordinates of the first vertex glVertex3f( object.vertex[ object.polygon[l_index].a ].x,
  • 6. 6 | Grafika Komputer object.vertex[ object.polygon[l_index].a ].y, object.vertex[ object.polygon[l_index].a ].z); //Vertex definition //----------------- SECOND VERTEX ----------------- // Texture coordinates of the second vertex glTexCoord2f( object.mapcoord[ object.polygon[l_index].b ].u, object.mapcoord[ object.polygon[l_index].b ].v); // Coordinates of the second vertex glVertex3f( object.vertex[ object.polygon[l_index].b ].x, object.vertex[ object.polygon[l_index].b ].y, object.vertex[ object.polygon[l_index].b ].z); //----------------- THIRD VERTEX ----------------- // Texture coordinates of the third vertex glTexCoord2f( object.mapcoord[ object.polygon[l_index].c ].u, object.mapcoord[ object.polygon[l_index].c ].v); // Coordinates of the Third vertex glVertex3f( object.vertex[ object.polygon[l_index].c ].x, object.vertex[ object.polygon[l_index].c ].y, object.vertex[ object.polygon[l_index].c ].z); } glEnd(); glFlush(); // This force the execution of OpenGL commands glutSwapBuffers(); // In double buffered mode we invert the positions of the visible buffer and the writing buffer } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(screen_width,screen_height); glutInitWindowPosition(0,0); glutCreateWindow("CREATED BY : Doni Nuriksa A.M (1006037)"); glutDisplayFunc(display); glutIdleFunc(display); glutReshapeFunc (resize); glutKeyboardFunc (keyboard); glutSpecialFunc (keyboard_s); init(); glutMainLoop();
  • 7. 7 | Grafika Komputer return(0); } Hasil Output :