TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

dokumen-dokumen yang mirip
Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Tutorial 09. Lighting

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

apa yang terjadi?. Kemudian lakukan pengantian beberapa bagian seperti sintak

PETEMUAN KE-3 PRIMITIVE DRAWING 2

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

Gambar 1. Viewport pada layar

TRANSFORMASI. Tujuan transfomasi adalah:

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

LAMPIRAN SOURCE CODE

Tutorial 04 Modeling & Transformasi Proyeksi

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Gambar 1. Viewport pada layar

Grafika Komputer. Evangs Mailoa

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

DAFTAR PUSTAKA. (diakses 1 maret 2016)

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL.

Gambar 1. Contoh tekstur makrostruktur

Program 1 /* Menampilkan Bayangan sebuah obyek sumber file */

PENGANTAR GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Praktikum Komputer Grafik [MODUL] Genap 2012/2013. Laboratorium Multimedia 1/35

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2015/2016. Lab TIA 1/59

Topik bahasan: 1. Membuat objek mudah dan kompleks dengan jaring poligon 2. Merender jaring poligon sebagai wireframe dan atau pejal dengan OpenGL

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2014/2015. Lab TIA 1/58

BAB IV IMPLEMENTASI DAN PENGUJIAN

Praktikum Komputer Grafik [MODUL] Genap 2013/2014. Laboratorium Multimedia 1/47

Tutorial 08. Fog. mensimulasikan efek kabut membatasi ruang pandang pengguna agar komputasi grafis yang diperlukan dapat dibatasi.

Modul 1 Primitif Drawing

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

GRAFIK KOMPUTER & PENGOLAHAN CITRA

BAB I PENDAHULUAN. 1.1.Latar Belakang

Tutorial 06. Texture Mapping & Blending

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

/*Bismillahirrohmanirrohim _Fatimah_Rombel 2_Projek_Akhir_Komgraf*/ #include <stdio.h> #include <stdlib.h> #include <string.

Praktikum Komputer Grafik [MODUL] Ganjil 2012/2013. Laboratorium Multimedia 1/41

Pembuatan Objek Gelas Pada OGRE

INSTRUKSI PENCABANGAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

BAB I PENGENALAN OPENGL

MODUL 1 DASAR-DASAR PEMROGRAMAN C++

ALGORITMA PERPOTONGAN OBJEK

Primitive Drawing. Achmad Basuki Nana Ramadijanti

Praktikum 1 Installation for OpenCV

Menggambar Garis Horizontal, Vertikal dan Diagonal

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

Bab 1 Pengenalan GLUT

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

C Programming (re-view)

EC5130 Grafika Komputer dan Pemrograman GPU

DISUSUN OLEH BAB II C DAN C++ berikut ini: pilih radio HAL 1

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

Praktikum 1 - Getting Started with Android

Perulangan, Percabangan, dan Studi Kasus

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Modul 6 Interaksi dengan Keyboard dan Mouse

DIAN PRATIWI. ST, MTI

JOBSHEET II ANTARMUKA MIKROKONTROLER DENGAN TOGGLE SWITCH

Pengenalan Komunikasi Data pada Processing

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

MODUL 9 Material Texture

Modul 2 Primitive Objects

Transformasi Obyek (Kasus 2D)

Antarmuka LCD M1632 dengan LPC1114 pada Modul DST-ARM

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

Tipe Data, Variabel, Input/Output

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

P06 Pointer dan Fungsi

I.1. MEMBUAT PROGRAM C DENGAN VISUAL C

TIPE DATA Pertemuan (K-03/L-03)

Pengenalan Bahasa C. 1. Struktur penulisan program. #include < [library2.h] > #define [nama2] [nilai] ;

Menggunakan CodeBlock Dengan Cepat (platform non linux) Oleh:wijanarto

1 - Bahasa Pemrograman

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

1. LifeLine Sequence Diagram dibuat dengan banyak lifeline. Setiap lifeline mendapatkan tempat sendiri sendiri. Beberapa jenis lifeline antara lain

KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP D I S U S U N OLEH

LAMPIRAN-LAMPIRAN. Kuisioner Analisis User 1. Berapakah umur Anda? a. < 15 b c d e. > Anda pria atau wanita?

Pemrograman Dasar C. Minggu 4

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

//Kelas ini berisi data yang hendak disimpan ke dalam database

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)

Struktur Program C++ Pertemuan 3

Struktur Program Bahasa C

Contact: ARTRONICS, Telp:

I. Dasar Teori. Process dan Thread

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

3. Struktur Perulangan dalam C++

3.1 Pencabangan if Sederhana (Tunggal)

VISUAL PARADIGM. Tugas Mata Kuliah IF-4061 Analisis dan Perancangan Berorientasi Objek Tanggal Pengumpulan : 20 Oktober 2004

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Transformasi Obyek (Lanjutan)

Transkripsi:

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA NAMA : HERU SANJAYA NPM : 39110387 KELAS : 2DB23

Gambar dibawah ini adalah tampilan awal Code Blocks. Setelah itu, pilih menu Settings Compiler and Debugger.

Maka akan muncul tampilan berikutnya, yaitu Global Compiler Settings. Pilih Linker Settings, contohnya seperti gambar dibawah ini. Klik Add untuk menambahkan library, contohnya seperti gambar dibawah ini. Maka akan muncul kotak Add Library, lalu ketik seperti gambar dibawah ini. Klik OK, maka akan muncul tampilan seperti berikut ini, lalu klik Ok.

Latihan 1. Untuk memulai, klik File New Project, contohnya seperti gambar dibawah ini. Setelah itu akan muncul tampilan New From Template seperti gambar dibawah ini, pilih OpenGL Project, lalu klik Go.

Maka akan muncul tampilan OpenGL Project seperti gambar dibawah ini. Pada Project Title, isi Latihan1, lalu klik Next. Pada tampilan seperti gambar berikut ini, klik Finish.

Maka, pada kotak Management, akan muncul tampilan seperti berikut ini. Klik dua kali pada Sources, lalu klik dua kali main.c. Maka akan muncul tampilan seperti berikut, isi seperti berikut ini.

#include <windows.h> #include <gl/gl.h> LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); void EnableOpenGL(HWND hwnd, HDC*, HGLRC*); void DisableOpenGL(HWND, HDC, HGLRC); int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) WNDCLASSEX wcex; HWND hwnd; HDC hdc; HGLRC hrc; MSG msg; BOOL bquit = FALSE; float theta = 0.0f; /* register window class */ wcex.cbsize = sizeof(wndclassex); wcex.style = CS_OWNDC; wcex.lpfnwndproc = WindowProc; wcex.cbclsextra = 0; wcex.cbwndextra = 0; wcex.hinstance = hinstance; wcex.hicon = LoadIcon(NULL, IDI_APPLICATION); wcex.hcursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrbackground = (HBRUSH)GetStockObject(BLACK_BRUSH); wcex.lpszmenuname = NULL; wcex.lpszclassname = "GLSample"; wcex.hiconsm = LoadIcon(NULL, IDI_APPLICATION);; if (!RegisterClassEx(&wcex)) return 0; /* create main window */

hwnd = CreateWindowEx(0, "GLSample", "OpenGL Sample", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 256, 256, NULL, NULL, hinstance, NULL); ShowWindow(hwnd, ncmdshow); /* enable OpenGL for the window */ EnableOpenGL(hwnd, &hdc, &hrc); /* program main loop */ while (!bquit) /* check for messages */ if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) /* handle or dispatch messages */ if (msg.message == WM_QUIT) bquit = TRUE; else TranslateMessage(&msg); DispatchMessage(&msg); else /* OpenGL animation code goes here */ glclearcolor(0.0f, 0.0f, 0.0f, 0.0f);

glclear(gl_color_buffer_bit); glpushmatrix(); glrotatef(theta, 0.0f, 0.0f, 1.0f); glbegin(gl_triangles); glcolor3f(1.0f, 0.0f, 0.0f); glvertex2f(0.0f, 1.0f); glcolor3f(0.0f, 1.0f, 0.0f); glvertex2f(0.87f, -0.5f); glcolor3f(0.0f, 0.0f, 1.0f); glvertex2f(-0.87f, -0.5f); glend(); glpopmatrix(); SwapBuffers(hDC); theta += 1.0f; Sleep (1); /* shutdown OpenGL */ DisableOpenGL(hwnd, hdc, hrc); /* destroy the window explicitly */ DestroyWindow(hwnd); return msg.wparam; LRESULT CALLBACK WindowProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) switch (umsg) case WM_CLOSE: PostQuitMessage(0); break;

case WM_DESTROY: return 0; case WM_KEYDOWN: switch (wparam) case VK_ESCAPE: PostQuitMessage(0); break; break; default: return DefWindowProc(hwnd, umsg, wparam, lparam); return 0; void EnableOpenGL(HWND hwnd, HDC* hdc, HGLRC* hrc) PIXELFORMATDESCRIPTOR pfd; int iformat; /* get the device context (DC) */ *hdc = GetDC(hwnd); /* set the pixel format for the DC */ ZeroMemory(&pfd, sizeof(pfd)); pfd.nsize = sizeof(pfd); pfd.nversion = 1; pfd.dwflags = PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER; pfd.ipixeltype = PFD_TYPE_RGBA; pfd.ccolorbits = 24; pfd.cdepthbits = 16;

pfd.ilayertype = PFD_MAIN_PLANE; iformat = ChoosePixelFormat(*hDC, &pfd); SetPixelFormat(*hDC, iformat, &pfd); /* create and enable the render context (RC) */ *hrc = wglcreatecontext(*hdc); wglmakecurrent(*hdc, *hrc); void DisableOpenGL (HWND hwnd, HDC hdc, HGLRC hrc) wglmakecurrent(null, NULL); wgldeletecontext(hrc); ReleaseDC(hwnd, hdc); Setelah itu, pilih menu Build Build (Ctrl+F9), contohnya seperti berikut ini.

Maka, pada Logs & Others akan memberikan laporan, apakah ada yang error atau tidak, contohnya seperti gambar dibawah ini. Jika tidak ada error, klik Build Run (Ctrl+F10), contohnya seperti berikut ini. Maka, hasilnya akan terlihat seperti berikut ini.

Latihan 2. Untuk Latihan 2, langkah-langkahnya sama seperti Latihan 1. Hanya saja, berbeda pada bahasa pemrogramannya. Isi main.c seperti berikut ini. #include <windows.h> #include <gl/glut.h> void Display(void) glclear(gl_color_buffer_bit); glbegin(gl_points); glcolor3f(0.0,1.0,0.0); glvertex2f(10.,10.); glcolor3f(1.0,1.0,0.0); glvertex2f(10.,110.); glcolor3f(0.0,0.0,1.0); glvertex2f(150.,110.0); glcolor3f(1.0,1.0,1.0); glvertex2f(150.,10); glend(); glflush();

void reshape(int w,int h) glviewport(0,0,(glsizei)w,(glsizei)h); glmatrixmode(gl_projection); glloadidentity(); gluortho2d(0.0,160.0,0.0,120); void init(void) glclearcolor(1.0,0.0,0.0,1.0); glpointsize(20.0); void main(int argc,char* argv[]) glutinitdisplaymode(glut_single GLUT_RGB); glutinitwindowsize(320,240); glutcreatewindow("latihan2"); init(); glutdisplayfunc(display); glutreshapefunc(reshape); glutmainloop();

Setelah itu, pilih menu Build Build (Ctrl+F9), contohnya seperti berikut ini. Maka, pada Logs & Others akan memberikan laporan, apakah ada yang error atau tidak. Jika tidak ada error, klik Build Run (Ctrl+F10), contohnya seperti berikut ini.

Maka, hasilnya akan terlihat seperti berikut ini. Latihan 3. Untuk Latihan 3, langkah-langkahnya sama seperti Latihan 1. Hanya saja, berbeda pada bahasa pemrogramannya. Isi main.c seperti berikut ini.

#include <windows.h> #include <GL/gl.h> #include <GL/glut.h> #include <GL/glu.h> #include <stdlib.h> void display(void) /* clear all pixels */ glclear (GL_COLOR_BUFFER_BIT); /* draw white polygon (rectangle) with corners at * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glcolor3f (1.0, 1.0, 0.0); glbegin(gl_polygon); glvertex3f (0.25, 0.25, 0.0); glvertex3f (0.75, 0.25, 0.0); glvertex3f (0.75, 0.75, 0.0); glvertex3f (0.25, 0.75, 0.0); glend(); /* don't wait! * start processing buffered OpenGL routines */ glflush (); void init (void) /* select clearing color */ glclearcolor (0.0, 0.0, 0.0, 0.0); /* initialize viewing values */ glmatrixmode(gl_projection); glloadidentity(); glortho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); /*

* Declare initial window size, position, and display mode * (single buffer and RGABA). Open window with "hello" * in its title bar. Call initialization routines. * Register callback function to display graphics. * Enter main loop and process events. */ int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (250, 250); glutinitwindowposition (100, 100); glutcreatewindow ("Latihan3"); init (); glutdisplayfunc(display); glutmainloop(); return 0; /* ANSI C requires main to return int. */ Setelah itu, pilih menu Build Build (Ctrl+F9), contohnya seperti berikut ini.

Maka, pada Logs & Others akan memberikan laporan, apakah ada yang error atau tidak. Jika tidak ada error, klik Build Run (Ctrl+F10), contohnya seperti berikut ini. Maka, hasilnya akan terlihat seperti berikut ini. Mohon maaf apabila banyak kesalahan dalam tulisan ini, terimakasih.