02.1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Pipelines Architectures Komputer Grafik
02.2 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 •Image Formation •Pengenalan arsitektur pipeline Objectives
02.3 Angel: Interactive Computer Graphics 4E © Addison-Wesley Image Formation
02.4 Angel: Interactive Computer Graphics 4E © Addison-Wesley Objectives •Fundamental imaging notions •Physical basis for image formation Light Color Perception •Synthetic camera model •Other models
02.5 Angel: Interactive Computer Graphics 4E © Addison-Wesley Image Formation •In computer graphics, we form images which are generally two dimensional using a process analogous to how images are formed by physical imaging systems Cameras Microscopes Telescopes Human visual system
02.6 Angel: Interactive Computer Graphics 4E © Addison-Wesley Elements of Image Formation •Objects •Viewer •Light source(s) •Attributes that govern how light interacts with the materials in the scene •Note the independence of the objects, the viewer, and the light source(s)
02.7 Angel: Interactive Computer Graphics 4E © Addison-Wesley Light •Light (cahaya) bagian dari spektrum elektromagnet yang dapat bereaksi terhadap sistem visual kita •wavelengths pada rentang nm (nanometers) •Long wavelengths merah dan short wavelengths sebagai biru
02.8 Angel: Interactive Computer Graphics 4E © Addison-Wesley Angel: Interactive Computer Graphics Addison-Wesley 2005 Luminance and Color Images •Luminance Image Monochromatic Values are gray levels Analogous to working with black and white film or television •Color Image Has perceptional attributes of hue, saturation, and lightness Do we have to match every frequency in visible spectrum? No!
02.9 Angel: Interactive Computer Graphics 4E © Addison-Wesley Three-Color Theory •Human visual system has two types of sensors Rods (batang): monochromatic, night vision Cones •Color sensitive •Three types of cones •Only three values (the tristimulus values) are sent to the brain •Need only match these three values Need only three primary colors
02.10 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Persepsi Warna •Struktur mata Dua sel reseptor •Rods (sel batang) •Cones (sel kerucut) •Cones memiliki 3 jenis, yang merespon panjang gelombang cahaya yang berbeda rods cones light bipolar ganglion horizontal amacrine
02.11 Angel: Interactive Computer Graphics 4E © Addison-Wesley Shadow Mask CRT
02.12 Angel: Interactive Computer Graphics 4E © Addison-Wesley Additive and Subtractive Color •Additive color Form a color by adding amounts of three primaries •CRTs, projection systems, positive film Primaries are Red (R), Green (G), Blue (B) •Subtractive color Form a color by filtering white light with cyan (C), Magenta (M), and Yellow (Y) filters •Light-material interactions •Printing •Negative film
02.13 Angel: Interactive Computer Graphics 4E © Addison-Wesley Pinhole Camera x p = -x/z/dy p = -y/z/d Use trigonometry to find projection of point at (x,y,z) These are equations of simple perspective z p = -d
02.14 Angel: Interactive Computer Graphics 4E © Addison-Wesley Angel: Interactive Computer Graphics Addison-Wesley 2005 Synthetic Camera Model center of projection image plane projector p projection of p
02.15 Angel: Interactive Computer Graphics 4E © Addison-Wesley Advantages •Separation of objects, viewer, light sources •Two-dimensional graphics is a special case of three-dimensional graphics •Leads to simple software API Specify objects, lights, camera, attributes Let implementation determine image •Leads to fast hardware implementation
02.16 Angel: Interactive Computer Graphics 4E © Addison-Wesley Global vs Local Lighting •Cannot compute color or shade of each object independently Some objects are blocked from light Light can reflect from object to object Some objects might be translucent (cahaya tembus)
02.17 Angel: Interactive Computer Graphics 4E © Addison-Wesley Ray Tracing and Geometric Optics Salah satu cara pembentukan image, dengan mengikuti sinar cahaya dari titik sumber hingga titik masuknya cahaya pada lensa. meskipun, Tiap sinar cahaya memungkinkan mengalami beragam interaksi misalkan hingga terabsorbsinya oleh objek ataupun menuju titik infinity.
02.18 Angel: Interactive Computer Graphics 4E © Addison-Wesley Why not ray tracing? •Ray tracing seems more physically based so why don’t we use it to design a graphics system? •Possible and is actually simple for simple objects such as polygons and quadrics with simple point sources •In principle, can produce global lighting effects such as shadows and multiple reflections but ray tracing is slow and not well-suited for interactive applications
02.19 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Review Image Formation •Dapatkah kita memimikkan model sintetik pada camera untuk merancang hardware/software grafik? •Application Programmer Interface (API) Hanya membutuhkan sfesifikasi •Objects •Materials •Viewer •Lights
02.20 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Physical Approaches •Ray tracing: mengikuti sinar cahaya dari pusat projeksi hingga sinar tersebut diabsorbsi oleh objek ataupun pergi dan hilang menuju titik tak hingga Dapat mengatasi efek global (GI) •Multiple reflections •Translucent objects (tembus) Lambat Membutuhkan database yang besar dan harus senantiasa standby •Radiosity: pendekatan yang berbasis energy Sangat lambat
02.21 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 •Graphics pipeline architecture Agenda Berikutnya
02.22 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Pipeline architecture •Memroses satu demi satu objek-objek pada tiap waktu secara terurut yang keseluruhannya dibangkitkan oleh aplikasi Hanya dapat memperhitungkan local lighting •Pipeline architecture application program display
02.23 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Pipeline achitecture •Kenapa? Agar lebih cepat dan flexible terhadap pengembangan •Kelemahan teknik pencahayaan masih local lighting. Kenapa? application program display
02.24 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Command dari arsitektur pipeline •Berawal dari sehimpunan objek geometri yang harus direpresentasikan •Sebuah objek geometri tersusun atas sekumpulan grafik primitif •Setiap grafik primitif tersusun atas sehimpunan vertex •Koleksi dari objek grafik primitif dan vertex ini dapat dinyatakan sebagai deskriptor bagi objek geometri •Dalam sebuah objek geometri yang kompleks dapat saja tersusun dari ratusan objek grafik primitif dan bahkan ribuan vertex •Melalui pipeline kesemuanya dijamin mengalami tahap pemrosesan yang sama
02.25 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Vertex Processing i •merupakan tahap paling awal dari pipeline, dan terbesar bobotnya •Setiap vertex diproses secara independen •2 Fungsi utama Transformasi koordinat Menentukan nilai warna tiap titik •Penentuan nilai koordinat bagi vertex yang mengalami transformasi caranya dikalikan dengan CTM •Penentuan perhitungan info warna setiap titik baik yang solid maupun yang diblend (dua atau lebih warna)
02.26 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Vertex Processing ii •Teknik penentuan color
02.27 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Penentuan warna •Ketika kita melukis sebuah garis yang pada dua buah vertexnya memiliki nilai info warna berbeda maka bagaimana menentukan nilai warna pada titik2 (tengah) penyusun garis tersebut •Teknik blending Nilai warna antara A dan C adalah ABC
02.28 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Bagaimana sistem dapat menentukan setiap titik pada polygon? Misalkan titik F Warna pada titik D merupakan perpaduan antara warna A dan B untuk menentukan ini gunakan kaidah proporsi garis warna Untuk titik E merupakan percampuran A dan C dengan teknik yang sama sehingga F bisa kita tentukan dari D dan E B A C DE F Baris pixel
02.29 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Contoh sintaks OPEN GL terkait warna glBegin(GL_TRIANGLES); glColor3f( 1., 0., 0.); glVertex2f(0, 0.7); glColor3f( 0., 1., 0.); glVertex2f(-0.7, -0.7); glColor3f( 0., 0., 1.); glVertex2f(0.7, -0.7); glEnd();
02.30 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Vertex processing iii •Penentuan titik koordinat bagi transformasi, misalkan rotasi (tentunya harus dihitung)
02.31 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Projection •Dalam vertex processing penghitungan koordinat telah menerapkan mode projeksi yang dipilih •Projection adalah proses yang mengkombinasikan 3D viewer dengan objek-objek 3D untuk memproduksi image 2D Perspective projections: seluruh projectors akan bertemu pada titik tengah projeksi Parallel projection: projectors are parallel, center of projection is replaced by a direction of projection
02.32 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Primitive Assembly Proses menggabungkan set of vertex menjadi primitif grafik Setiap Verteks harus disimpan sebagai objek geometri sebelum dilakukannya clipping agar lebih efisien Line segments (cohen sutherland) Polygons Curves and surfaces
02.33 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Cliper •Dilakukan karena kenyataannya sistem optis fisik memiliki keterbatasan dalam area pandang •(field of view), mata manusia hampir 180, •bagaimana dengan lalat yang memiliki mata majemuk?kalau ayam? •Tahapan cliper adalah tahapan membatasi field of view
02.34 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Clipping Seperti pada kamera nyata yang tidak dapat melihat seluruh area pandang, kamera virtual pun dirancang hanya dapat melihat sebagian ruang pandang Objek2 yang tidak berada pada area pandang inilah yang akan menjadi objek yang di-clip
02.35 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Tahap ke 3 Rasterization •primitif grafik hasil cliper membutuhkan proses lanjutan untuk menghasilkan pixel pada Frame Buffer inilah yang dilakukan pada rasterization (bayangkan shape pada photoshop) •Misal ada polygon solid segitiga maka rasterization akan menentukan pixel mana pada FB yang termasuk di dalam polygon •Disebut juga scan conversion
02.36 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 rasterization •Hasil dari proses rasterization adalah fragment •Fragment adalah potential pixel pada FB dari setiap primitif grafik •Informasi pada Fragment adalah Koordinat (lokasi), warna, dan kedalaman (fragment mana yang di belakang, di depan)
02.37 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 rasterization
02.38 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Fragment Processing •Tahapan terakhir •Sebuah fragment dapat dibuang akibat terhalang oleh fragment lain yang lebih dekat pada viewer (hidden surface removal) •Untuk representasi 3d dengan dinamis viewing hidden surface dapat berubah, Update nilai pixel pada frame buffer •Efex translucent
02.39 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Dimana pipeline achitecture? •Diterapkan pada Graphics Processing Units (GPU) berupa sebuah chip •GPU? biasa juga disebut visual processing unit atau VPU) adalah sebuah prossesor khusus untuk bagian grafis 3D dari microprocessor. •Alat ini digunakan di telepon genggam, PC, dan konsol game. • GPU Moderen sangat efisien dalam memanipulasi grafis komputer dan struktur paralel, membuatnya lebih efektif dari fungsi umum CPU yang digunakan untuk berbagai eksekusi algoritma. •Pada komputer pribadi (PC), GPU biasanya terdapat di VGA atau di motherboard.
02.40 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 The Programmer’s Interface •Programmer sees the graphics system through a software interface: the Application Programmer Interface (API)
02.41 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 OpenGL •OpenGL adalah API yang dikenalkan oleh SGI (Silicon Graphics Inc) kali pertama pada tahun 1980-an. Awalnya OpenGL diciptakan untuk mendukung proses rendering yang hanya digunakan untuk mendukung proses rendering yang dilakukan oleh komputer graphic produksi SGI. Namun akhirnya, OpenGL dijadikan standar oleh berbagai perusahaan software dan hardware •Selain itu, satu lagi yang menjadi kelebihan OpenGL adalah fleksibilitas. OpenGL dapat digunakan hampir pada semua operating system, mulai dari Windows, Linux, sampai Mac OS X. Salah satu contoh Game 3D yang menggunakan OpenGL sebagai API adalah Quake.
02.42 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 API (Aplication Program Interface) •API singkatan dari Application Program Interface. •API banyak digunakan oleh banyak pengembangan aplikasi. •Seperti contohnya game 3D atau aplikasi lain yang memberikan tampilan 3D. Untuk saat ini, ada dua macam API yang sangat umum digunakan yaitu OpenGL dan DirectX. •Selain keduanya masih ada dua API lagi, yaitu Glide dari Voodoo dan Redline. Namun kedua yang terakhir ini sudah sangat jarang muncul
02.43 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 DirectX •Berbeda dengan OpenGL yang hanya digunakan sebagai interface graphics saja. DirectX merupakan sebuah paket terdiri dari Direct3D, Direct-Sound dan DirectPlay. •Direct3D adalah API untuk graphic, Direct-Sound untuk suara dan DirectPlay untuk jaringan. •DirectX dikembangkan oleh Microsoft. Saat ini keberadaan DirectX sudah sangat luas. Namun saat ini DirectX lebih diperuntukkan pada aplikasi Windows saja. hal inilah yang sampai saat ini banyak disayangkan oleh para programer graphic. •Selain itu, yang menjadi kelemahan bagi DirectX adalah Anda tidak selalu mendapatkan versi terbaru dari DirectX setiap Anda menginstal driver terbaru video card Anda. Untuk meng-update DirectX terbaru Anda harus menginstalnya secara tersendiri. Untungnya DirectX ini disediakan secara cuma-cuma oleh Microsoft pada situsnya, yaitu di
02.44 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Contoh Direct X
02.45 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 GUI (Graphic User Interface ) •GUI merupakan tampilan grafis yang memudahkan user berinteraksi dengan perintah teks.
02.46 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 API Contents •Functions that specify what we need to form an image Objects Viewer Light Source(s) Materials •Other information Input from devices such as mouse and keyboard Capabilities of system
02.47 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Object Specification •Most APIs support a limited set of primitives including Points (0D object) Line segments (1D objects) Polygons (2D objects) Some curves and surfaces •Quadrics •Parametric polynomials •All are defined through locations in space or vertices
02.48 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Example glBegin(GL_POLYGON) glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glEnd( ); type of object location of vertex end of object definition
02.49 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Lights and Materials •Types of lights Point sources vs distributed sources Spot lights Near and far sources Color properties •Material properties Absorption: color properties Scattering •Diffuse •Specular
02.50 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 •sekian