PETEMUAN KE-3 PRIMITIVE DRAWING 2

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

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Gambar 1. Viewport pada layar

Tutorial 09. Lighting

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

Gambar 1. Viewport pada layar

Tutorial 04 Modeling & Transformasi Proyeksi

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

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

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

Gambar 1. Contoh tekstur makrostruktur

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

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

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

Modul 1 Primitif Drawing

DAFTAR PUSTAKA. (diakses 1 maret 2016)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

LAMPIRAN SOURCE CODE

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

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

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

Tutorial 06. Texture Mapping & Blending

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

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

PENGANTAR GRAFIKA KOMPUTER

Grafika Komputer. Evangs Mailoa

TRANSFORMASI. Tujuan transfomasi adalah:

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

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

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

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

BAB IV IMPLEMENTASI DAN PENGUJIAN

EC5130 Grafika Komputer dan Pemrograman GPU

BAB I PENGENALAN OPENGL

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

Primitive Drawing. Achmad Basuki Nana Ramadijanti

DIAN PRATIWI. ST, MTI

ALGORITMA PERPOTONGAN OBJEK

GRAFIK KOMPUTER & PENGOLAHAN CITRA

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

Pewarnaan dan Perputaran Polygon Untuk Objek Gambar Segi Tiga dan Segi Empat Menggunakan Program OPENGL 32

An Interactive Introduction to OpenGL Programming

BAB I PENDAHULUAN. 1.1.Latar Belakang

BAHAN AJAR. GRAFIKA KOMPUTER MMS 2604 / 3 sks

TEKNOLOGI AUGMENTED REALITY

Transformasi Obyek (Kasus 2D)

J U R N A L I L M I A H KOMPUTASI

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

Transformasi Obyek (Lanjutan)

ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL

Modul 2 Primitive Objects

Perulangan, Percabangan, dan Studi Kasus

Pembuatan Simulasi Pergerakan Objek 3D (Tiga Dimensi) Menggunakan OpenGL

BAB IV TOOLS UNTUK MENGGAMBAR (WINDOW DAN VIEWPORT)

BAB II TINJAUAN PUSTAKA. antara komputer vision, grafika komputer, pengolahan citra dan pengenalan pola

Bab 1 Pengenalan GLUT

LAPORAN PRATIKUM KOMPUTER APLIKASI

APLIKASI WEB BROWSER ANIMATIF MENGGUNAKAN DELPHI DAN OPENGL. Oleh : TEDDY GIGIH PRABOWO M Teknik Komputer

MODUL PROGRAM KEAHLIAN GANDA

P00 Perintah Dasar dalam Linux

BAB II PRIMITIF GRAFIK

Minggu ke-14 Typedef, Struct & Command Line Argument

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

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

P06 Pointer dan Fungsi

Tipe Data, Variabel, Input/Output

MODUL 9 Material Texture

Chapter 9 Operator Types dan Operator Overloading

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

1 - Bahasa Pemrograman

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Proxy Autentikasi dengan Program mysql_auth pada FreeBSD 6.0

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

P02 Menulis dan Membaca Berkas Teks

TUGAS TEORI ALGO LANJUT

RESUME ALGORITMA MERGE SORT DAN REKURENS

Daftar kelompok Kelas Mahasiswa Angkatan 52 Program Pendidikan Kompetensi Umum Institut Pertanian Bogor

String dpat dideklarasikan dengan menggunakan array karakter seperti berikut:

PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH. November 16, Page 1 of 16 PRAKTIKUM KONSEP PEMROGRAMAN MATERI

PRAKTIKUM 10 DATAGRAM SOCKET PROGRAMMING

FILE INPUT/OUTPUT. Overview

P01 Pengenalan Pemrograman C++ di Linux

Struktur Kontrol Pemrograman Java : PERCABANGAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

FUNGSI / MAKRO SISTEM INTERUPSI DOS & AKSES PORT

Modul 3 Objek 2 Dimensi

I. Dasar Teori. Process dan Thread

UDP (User Datagram Protocol) SOCKET PROGRAMMING

P03 Sekilas Array dan Penggunan Berkas Teks

MODUL 1 Pengenalan C untuk 8051 (Compile dan Download)

C Programming (re-view)

Transkripsi:

PETEMUAN KE-3 PRIMITIVE DRAWING 2 A.Tujuan 1. Dapat mengaplikasikan objek primitif dalam bentuk yang lain B. Dasar Teori Dalam praktikum sebelumnya anda diminta membuat titik garis, dan sebagainya. Dalam praktikum hari ini lakukan penambahan pada program sebelumnya dengan glenable (GL_LINE_STIPPLE); gllinestipple (1, 0x10ff);.. gldisable (GL_LINE_STIPPLE); apa yang terjadi?. Kemudian lakukan pengantian beberapa bagian seperti sintak glvertex3f(x,y,z); dengan glvertex2f (x,y); Amati lagi apa yang terjadi?. Untuk mempelajari program yang lebih lengkap cobalah program-program dibawah ini dan kemudian lakukan diskusi C. Praktek 1. Program 1 glclear (GL_COLOR_BUFFER_BIT); glcolor3f (1.0, 1.0, 1.0); glenable (GL_LINE_STIPPLE); // gllinestipple (1, 0x0101); /* membuat titik */ // gllinestipple (1, 0x00ff); /* membuat strip-strip */ gllinestipple (1, 0x10ff); /* membuat strip titik strip */ glbegin(gl_line_strip); glvertex2f (325, 75); glvertex2f (5, 75); glend(); gldisable (GL_LINE_STIPPLE); glflush (); void reshape (int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION);

glloadidentity (); gluortho2d (0.0, (GLdouble) w, 0.0, (GLdouble) h); int main(int argc, char** argv) glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (400, 150); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); glutreshapefunc(reshape); 2. Program 2 #include <stdlib.h> #define drawoneline(x1,y1,x2,y2) glbegin(gl_lines); \ glvertex2f ((x1),(y1)); \ glvertex2f ((x2),(y2)); \ glend(); void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); int i; glclear (GL_COLOR_BUFFER_BIT); glcolor3f (0.0, 1.0, 0.0); glenable (GL_LINE_STIPPLE); gllinestipple (1, 0x0101); /* dotted */ drawoneline (50.0, 125.0, 150.0, 125.0); gllinestipple (1, 0x00FF); /* dashed */ drawoneline (150.0, 125.0, 250.0, 125.0); gllinestipple (1, 0x1C47); /* dash/dot/dash */ drawoneline (250.0, 125.0, 350.0, 125.0); gllinewidth (50.0); gllinestipple (1, 0x0101); /* dotted */ drawoneline (50.0, 100.0, 150.0, 100.0); gllinestipple (1, 0x00FF); /* dashed */ drawoneline (150.0, 100.0, 250.0, 100.0); gllinestipple (1, 0x1C47); /* dash/dot/dash */ drawoneline (250.0, 100.0, 350.0, 100.0); gllinewidth (1.0); gllinestipple (1, 0x1C47); /* dash/dot/dash */ glbegin (GL_LINE_STRIP); for (i = 0; i < 7; i++)

glvertex2f (50.0 + ((GLfloat) i * 50.0), 75.0); glend (); for (i = 0; i < 6; i++) drawoneline (50.0 + ((GLfloat) i * 50.0), 50.0, 50.0 + ((GLfloat)(i+1) * 50.0), 50.0); gllinestipple (5, 0x1C47); /* dash/dot/dash */ drawoneline (50.0, 25.0, 350.0, 25.0); gldisable (GL_LINE_STIPPLE); glflush (); void reshape (int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity (); gluortho2d (0.0, (GLdouble) w, 0.0, (GLdouble) h); int main(int argc, char** argv) glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (400, 150); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutreshapefunc(reshape); 3. Program 3 GLubyte fly[] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60, 0x04, 0x60, 0x06, 0x20, 0x04, 0x30, 0x0C, 0x20, 0x04, 0x18, 0x18, 0x20, 0x04, 0x0C, 0x30, 0x20, 0x04, 0x06, 0x60, 0x20, 0x44, 0x03, 0xC0, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x66, 0x01, 0x80, 0x66, 0x33, 0x01, 0x80, 0xCC, 0x19, 0x81, 0x81, 0x98, 0x0C, 0xC1, 0x83, 0x30, 0x07, 0xe1, 0x87, 0xe0, 0x03, 0x3f, 0xfc, 0xc0, 0x03, 0x31, 0x8c, 0xc0, 0x03, 0x33, 0xcc, 0xc0, 0x06, 0x64, 0x26, 0x60, 0x0c, 0xcc, 0x33, 0x30, 0x18, 0xcc, 0x33, 0x18, 0x10, 0xc4, 0x23, 0x08, 0x10, 0x63, 0xC6, 0x08, 0x10, 0x30, 0x0c, 0x08, 0x10, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x08;

glclear (GL_COLOR_BUFFER_BIT); glcolor3f (0.0, 1.0, 0.0); glrectf (25.0, 125.0, 125.0, 350.0); glenable (GL_POLYGON_STIPPLE); glpolygonstipple (fly); glrectf (200.0, 125.0, 800.0, 350.0); gldisable (GL_POLYGON_STIPPLE); glflush (); void init (void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); void reshape (int w, int h) glviewport (50, 0,(GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity (); gluortho2d (0.0, (GLdouble) w, 0.0, (GLdouble) h); int main(int argc, char** argv) glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (1000, 500); glutcreatewindow (argv[0]); init (); glutreshapefunc(reshape); 4. Program 4 int board[3][3]; /* jumlah warna untuk tiap kotak */ /* Clear nilai warna untuk setiap kotak pada board */ void init(void) int i, j; for (i = 0; i < 3; i++) for (j = 0; j < 3; j ++) board[i][j] = 0; glclearcolor (0.0, 0.0, 0.0, 0.0); void drawsquares(glenum mode) GLuint i, j; for (i = 0; i < 3; i++) if (mode == GL_SELECT) glloadname (i); for (j = 0; j < 3; j ++)

if (mode == GL_SELECT) glpushname (j); glcolor3f ((GLfloat) i/3.0, (GLfloat) j/3.0, (GLfloat) board[i][j]/3.0); glrecti (i, j, i+1, j+1); if (mode == GL_SELECT) glpopname (); glclear(gl_color_buffer_bit); drawsquares (GL_RENDER); glflush(); void reshape(int w, int h) glviewport(0, 0, w, h); glmatrixmode(gl_projection); glloadidentity(); gluortho2d (0.0, 3.0, 0.0, 3.0); glmatrixmode(gl_modelview); glloadidentity(); int main(int argc, char** argv) glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (400, 400); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutreshapefunc (reshape); 5. Program 5 #include <string.h> void *font = GLUT_BITMAP_TIMES_ROMAN_24; void *fonts[] =GLUT_BITMAP_9_BY_15, GLUT_BITMAP_TIMES_ROMAN_10, GLUT_BITMAP_TIMES_ROMAN_24; char defaultmessage[] = "Pustaka GLUT OpenGL."; char *message = defaultmessage; void selectfont(int newfont) font = fonts[newfont]; glutpostredisplay(); void selectmessage(int msg)

switch (msg) case 1: message = "pustaka glut opengl...kecil."; case 2: message = "PUSTAKA GLUT OPENGL...BESAR."; void selectcolor(int color) switch (color) case 1: glcolor3f(0.0, 1.0, 0.0); case 2: glcolor3f(1.0, 0.0, 0.0); case 3: glcolor3f(1.0, 1.0, 1.0); glutpostredisplay(); void tick(void) glutpostredisplay(); void output(int x, int y, char *string) int len, i; glrasterpos2f(x, y); len = (int) strlen(string); for (i = 0; i < len; i++) glutbitmapcharacter(font, string[i]); glclear(gl_color_buffer_bit); output(0, 24, "HELLO SAYA BELAJAR GLUT bitmap font."); output(100, 100, message); output(0, 145, "(Posisi dalam PIXEL dengan dimulai atas kiri,...xixixi)"); glutswapbuffers(); void reshape(int w, int h) glviewport(0, 0, w, h); glmatrixmode(gl_projection); glloadidentity(); gluortho2d(0, w, h, 0); glmatrixmode(gl_modelview);

int main(int argc, char **argv) int i, msg_submenu, color_submenu; for (i = 1; i < argc; i++) if (!strcmp(argv[i], "-mono")) font = GLUT_BITMAP_9_BY_15; glutinitdisplaymode(glut_double GLUT_RGB); glutinitwindowsize(600, 150); glutcreatewindow("glut bitmap font example"); glclearcolor(0.0, 0.0, 0.0, 1.0); glutreshapefunc(reshape); glutidlefunc(tick); msg_submenu = glutcreatemenu(selectmessage); glutaddmenuentry("huruf kecil", 1); glutaddmenuentry("huruf BESAR", 2); color_submenu = glutcreatemenu(selectcolor); glutaddmenuentry("hijau", 1); glutaddmenuentry("merah", 2); glutaddmenuentry("putih", 3); glutcreatemenu(selectfont); glutaddmenuentry("default", 0); glutaddmenuentry("times Roman 10", 1); glutaddmenuentry("times Roman 24", 2); glutaddsubmenu("messages", msg_submenu); glutaddsubmenu("warna", color_submenu); glutattachmenu(glut_right_button); D. Tugas 1. Buatlah Program untuk menentukan garis strip dengan warna ungu dengan koodinat vertek 1 (127,80) dan vertek 2 (500, 100) 2. Seperti pada program 3 buatlah gambar bunga atau gambar lainya yang anda sukai.