Minggu, 11 Mei 2014

MAP REDUCE DAN NOSQL

I. Pendahuluan
Cloud Computing atau Komputasi Awan
Cloud computing atau komputasi awan merupakan definisi untuk teknologi komputasi grid (grid computing) yang digunakan pada pertengahan hingga akhir tahun 1990-an. Jargon cloud computing atau komputasi awan mulai muncul pada akhir tahun 2007, digunakan untuk memindahkan layanan yang digunakan sehari-hari ke Internet, bukan disimpan di komputer lokal lagi. Pada saat itu, layanan lain termasuk pengolahan kata, spreadsheet, dan presentasi telah dipindahkan ke dalam komputasi awan. Google menyediakan pengolah kata, spreadsheet dan aplikasi presentasi di lingkungan komputasi awan dan terintegrasi dengan Gmail dan Google Calendar, menyediakan lingkungan kantor di web (atau di awan). Microsoft dan perusahaan lain juga bereksperimen dengan mengalihkan program-program ke awan untuk membuatnya lebih terjangkau dan lebih mudah diakses oleh pengguna komputer dan Internet. Perangkat lunak sebagai layanan (istilah Microsoft untuk cloud computing atau komputasi awan) adalah barang yang sangat baru bagi kebanyakan orang di Microsoft.
     Cloud computing atau komputasi awan adalah gabungan pemanfaatan teknologi komputer dan pengembangan berbasis Internet. Suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan sehingga pengguna dapat mengaksesnya lewat Internet tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server.

Sejarah Cloud Computing atau Komputasi Awan
     Sejarah cloud computing dimulai pada tahun1960-an, John McCarth seorang pakar komputer dari MIT meramalkan bahwa suatu hari nanti komputerisasi akan menjadi infrastruktur publik layaknya seperti berlangganan listrik atau telepon. Kemudian pada akhir tahun 1990-an, lahir konsep ASP (Application Service Provider) yang ditandai munculnya perusahaan pengolah data center. Selanjutnya pada tahun1995, Larry Ellison, pendiri Oracle, melahirkan wacana “Network Computing” pasca penetrasi Microsoft Windows 95 yang merajai pasar software dunia pada saat itu. Ide itu menyebutkan bahwa PC tidak perlu dibenamkan software yang membuat berat kinerja dan cukup diganti sebuah terminal utama berupa server. Pada awal tahun 2000-an, Marc Beniof, eks Vice President Oracle melansir aplikasi CRM berbentuk “software as a service” bernama Salesforce.com sebagai penanda lahirnya cloud computing. Tahun 2005, situs online shopping Amazon.com meluncurkan Amazon EC2 (Elastic Compute Cloud), diikuti Google dengan Google App Engine, dan IBM yang melansir Blue Cloud Initiative.

Latar Belakang Munculnya Komputasi Awan atau Cloud Computing
     Untuk pengguna individual, tentu cukup menyimpan data-datanya di sebuah laptop atau personal computer. Namun bagaimana dengan sebuah perusahaan atau instansi pemerintah yang memiliki ribuan data penting dan membutuhkan media simpan yang lebih besar dan lebih aman, cloud computing atau komputasi awan adalah jawabannya. Teknologi ini dianggap dapat menekan ongkos investasi server raksasa, lebih efektif, transparan, dan efisien dari jumlah sumber daya manusia. Berbondong-bondong perusahaan-perusahaan IT dunia membangun infrastruktur untuk menuju era penyimpanan data yang mutakhir ini. Tidak heran bila kemudian perusahaan besar seperti Microsoft, Apple, Google, dan IBM mengembangkan teknologi ini dengan serius selama satu dekade terakhir.
     Teknologi komputasi dan teknik pemrograman baru atau teknik pengembangan berubah dengan cepat, tujuan dalam komputasi awan nampaknya akan membuat teknologi menjadi sangat mudah dimata user dan menjadikannya sesederhana mungkin. Pengembangan berbasis internet sangat pesat saat ini dengan boomingnya blogging dan microblogging serta layanan jejaring sosial yang bertujuan untuk menemukan cara baru membantu individu dan bisnis untuk dapat berkomunikasi satu sama lain di arena cloud computing atau komputasi awan.

Perkembangan Cloud Computing atau Komputasi Awan
     Cloud computing saat ini sangat populer, selain dari pemain besar software seperti Microsoft dan Google, perusahaan lain bermunculan hanya untuk menyediakan layanan berbasis awan sebagai pengganti atau penyempurnaan aplikasi pada PC hari ini. Beberapa dari perusahaan tersebut adalah Zoho.com, sebuah office suite online, Evernote.com, merupakan sebuah situs yang ditujukan untuk catatan online , dan RememberTheMilk.com, manajemen tugas online. Email yang tersedia dalam bentuk web mail merupakan contoh yang sangat kecil dari teknologi cloud computing. Dengan menggunakan layanan email seperti Gmail dan Yahoo Mail, orang tidak perlu lagi menggunakan Outlook atau aplikasi desktop lainnya untuk email mereka. Membaca email dengan browser memungkinkan dilakukan di mana saja sepanjang ada koneksi internet.
     Microsoft sebagai perusahaan software terbesar saat ini, melansir “Microsoft Office 365” dan “Windows Azzure” sebagai sistem operasi (OS) berbasis komputasi awan yang digadang-gadang akan menggantikan OS Windows yang ada saat ini. Sementara itu Apple melansir “Mobile Me” untuk pengguna Mac yang disinkronisasikan dengan teknologi Cloud Computing. Sedangkan Google yang sejak 10 tahun silam mengincar pengembangan teknologi ini mulai mengerahkan para penggunanya dalam penerapan sederhana cloud computing melalui layanan “Google Docs” dimana kita dapat memanfaatkan layanan secara online tanpa harus install program. IBM juga telah meluncurkan produk pertamanya di teknologi ini sejak tiga tahun silam yang bernama “LotusLive”. Tidak ketinggalan Hitachi Data System (HDS) sebagai perusahaan data penyimpanan ketiga terbesar di dunia dari Jepang menggarap “Leapdrive.com” sebagai salah satu layanan cloud computing berupa ruang penyimpanan yang diminati publik saat ini

II. Pembahasan
Map Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita. Contoh penerapan map reduce adalah yang dilakukan oleh Google yang mana pada ranah open source terlihat percepatan pengembangan framework lain yang bersifat terdistribusi dan menggunakan konsep yang sama. 




NoSQL berorientasi dari berbagai hal seperti di bawah ini yaitu
1. key-value orriented seperti, cassandra, riak, hypertable, dynamo,dll
2. document orriented seperti, mongoDB, couchDB,Clusterpoint, SimpleDB,dll
3. graph orriented seperti,  OrientDB, FlockDB, neo4j, pregel, dll
4. multivalue database seperti, jBASE, OpenQM, InfinityDB, dll
5. object database seperti, db40, NeoDatis ODB, JADE, dll

NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional. NoSQL berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDB  Cassandra,   CouchDB, dan yang lainnya.

III. Kesimpulan
Map Reduce adalah konsep yang penting untuk penyimpaan data dalam cloud computing sedangkan NoSQL adalah sebuah sistem yang memanajeman data base yang berbeda dari database relasional.

IV. Daftar Pustaka
http://bukanprogrammer.blogspot.com/2013/05/pengantar-komputasi-cloud.html
http://franzkaroja.blogspot.com/2013/04/pengertian-cloud-computing-atau.html


DISTRIBUTED COMPUTATION DALAM CLOUD COMPUTING

I. Pendahuluan
Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud)dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.[1] Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), [2] sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") [3] tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.[4] Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."[5]
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah webdengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer . Digunakan untuk memecahkan persoalan komputasi dalam skala besar yang terdistribusi dan terpisah secara geografis. Komputasi Grid menjalankan sistem yang terkoordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat.

II. Pembahasan
Distributed Computation dalam Cloud Computing
      Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana  membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing  yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

III. Kesimpulan
Cloud Computing adalah penggabungan teknologi visualisasi dan grid computing yang mampu memberikan hasil yang jauh lebih efisien dan powerfull dalam hal proses komputasi dan pengelolaan resource IT secara terdistribusi

IV. Daftar Pustaka
http://id.wikipedia.org/wiki/Komputasi_awan
http://bukanprogrammer.blogspot.com/2013/05/pengantar-komputasi-cloud.html



MODERN COMPUTATION BESERTA IMPLEMENTASINYA DI BIDANG FISIKA, BIOLOGI , MATEMATIKA, EKONOMI, GEOLOGI

I Pendahuluan
Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.
Sejarah Komputasi Modern Pencetus dari dasar – dasar komputasi modern pertama kali adalah John Von Neuman. Ia adalah ilmuwan yang meletakkan dasar – dasar komputasi modern. Semasa hidupnya Von Neumann telah menjadi ilmuwan besar abad 21 dengan meningkatkan karya – karyanya tidak hanya dalam bidang matematika, teori kuantum dan game theory, namun juga fisika nuklir dan ilmu komputer. Beliau juga salah seorang ilmuwan yang berpengaruh dalam pembuatan bom atom di Los Alamos pada perang Dunia II.
II Pembahasan
Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Secara umum ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu.  Dalam hal penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu sains.
Menggunakan suatu algoritma dan juga penggunaan komputer dalam suatu pemecahan masalah, berarti  cara penyelesaiannya sudah termasuk modernisasi. Sekarang ini dengan semakin berkembangnya jaman, komputasi telah dilakukan dengan komputer. Hal inilah yang menyebabkan berkembangnya komputasi menjadi komputasi modern.
Komputasi modern bisa dibilang adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern.

Macam-macam Komputasi Modern
Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

1. Mobile computing
Mobile Computing adalah sebuah paradigma baru dalam kemajuan teknologi yang dapat melakukan komunikasi dengan jaringan  nirkabel sehingga user mampu melakukan perpindahan.

2. Grid computing (akan di bahas lebih lanjut di tugas ke dua)
secara singkat, komputasi grid atau grid computing adalah penggunaan sumber daya komputer secara bersama-sama dimana komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu permasalahan berskala besar.

3. Cloud computing (akan di bahas di tugas ke dua)
Cloud computing adalah kumpulan dari beberapa resources yang terintegrasi menjadi satu dan digunakan melalui web.

Sebenarnya, cloud computing ini didasarkan pada teknologi grid computing yang membuat skalabilitas suatu sistem komputasi menjadi sangat besar dengan cara menggabungkan beberapa sumber daya komputer menjadi satu resource.
Implementasi komputasi di dalam kehidupan sehari-hari : Fisika, Kimia, Matematika, Ekonomi, Geologi, Geografi

di dalam bidang fisika
Computational Physics (Fisika) – Mempelajari implementasi algoritma numerik untuk memecahkan permasalahan teori kuantitatif fisika yang sudah ada.

di dalam bidang Biologi
Bioinformatics (Biologi) – Merupakan sebuah aplikasi dari teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.

bidang kimia,
Computational Chemistry (Kimia) – Merupakan salah satu cabang kimia yang menggunakan ilmu komputer untuk membantu menyelesaikan masalah kimia.

bidang Matematika,
conoth penggunaannya adalah program Mapple, dapat menyelesaikan banyak perhitingan yang ada pada bidang matematika,

bidang ekonomi,
Computational Economics (Ekonomi) – Mempelajari titik pertemuan antara ekonomi dan komputasi.
bidang geografi dan geologi, dapat mengetahui prakiraan cuaca dan juga mendeteksi gempa yang ada.

III.  Kesimpulan

Modern komputasi diciptakan untuk membantu manusia dalam menyelesaikan masalah atau tugas yang ada dikehidupan sehari hari yang tidak dapat diselesaikan secara manual.

IV Daftar Pustaka

http://id.wikipedia.org/wiki/Teori_komputasi
http://lianaindrijaya.blogspot.com/2012/03/pengantar-komputasi-modern-pert1.html
http://curny-awant.blogspot.com/2014/05/modern-computation-beserta.html

Selasa, 21 Januari 2014

Tugas V-class Jaringan Komputer Lanjut [Pilihan Ganda]

[v-class Jarkom Lanjut] Jawaban Soal Pilihan Ganda :
1. Service yang cara kerjanya mirip dengan mengirim surat adalah :
a. Connection Oriented                        c. Semua jawaban benar
b. Connectionless Oriented            d. Semua jawaban salah
Jawaban : a. Connection Oriented
2. Nama lain untuk Statistical Time Division Multiplexing (TDM) adalah :
a. Non-Intelligent TDM            c. Asynchromous TDM
b. Synchronous TDM            d. Semua jawaban benar
Jawaban : b. Synchronous TDM
3. Hubungan laju transmisi data dengan lebar pita saluran transmisi adalah :
a. Laju transmisi naik jika lebar pita berkuran.
b. Laju transmisi naik jika lebar pita bertambah.
c. Laju transmisi tidak bergantung pada lebar pita.
d. Semua jawaban salah.
Jawaban : d. Semua jawaban salah.
4. Teknik encoding Bipolar-AMI dan Pseudoternary termasuk dalam teknik :
a. Multilevel Binary            c. Biphase
b. NRZ                        d. Manchester
Jawaban : a. Multilevel Binary
5. Jika dua frame ditransmisikan secara serentak maka akan menyebabkan terjadinya tubruklan. Kejadian ini dalam jaringan dikenal dengan istilah :
a. Contention                        c. Crash
b. Collision                        d. Jabber
Jawaban : c. Crash
6. Salah satu protocol CSMA yang tidak terus menerus mendengarkan channel adalah :
a. 1-persistent            c. nonpersistent
b. p-persistent            d. CSMA/CD
Jawaban : d. CSMA/CD
7. Salah satu protocol yang bebas dari tubrukan adalah :
a. Bit-Map            c. Carrier Sense
b. CSMA            d. ALOHA
Jawaban : c. Carrier Sense
8. Selective Repeater merupakan istilah lain dari :
a. Router            c. Gateway
b. Bridge            d. Repeater
Jawaban : a. Router
9. Dalam pemeliharaan ring logis 802.4, frame kontrol yang bertugas untuk mengijinkan suatu stasiun untuk meninggalkan ring adalah :
a. Claim_token             . Token
b. Who_follows            d. Set_Successor
Jawaban : c. Token
10.Algoritma yang digunakan untuk menghindari kemacetan adalah :
a. Broadcast Routing            c. Optimal Routing
b. Flow Control                        d. Flooding Routing
Jawaban : b. Flow Control
11.Algoritma routing yang menggunakan informasi yang dikumpulkan dari subnet secara keseluruhan agar keputusannya optimal adalah :
a. Algoritma Global                        c. Algoritma Terisolasi
b. Algoritma Lokal                        d. Algoritma Terdistribusi
Jawaban : d. Algoritma Terdistribusi
12.Keuntungan multiplexing adalah :
a. Komputer host hanya memerlukan satu I/O port untuk satu terminal
b. Komputer host hanya memerlukan satu I/O port untuk banyak terminal
c. Komputer host memerlukan banyak I/O port untuk banyak terminal
d. Komputer host memerlukan banyak I/O port untuk satu terminal
Jawaban : b. Komputer host hanya memerlukan satu I/O port untuk banyak terminal
13.Jenis kabel UTP digunakan untuk jaringan Ethernet :
a. 10Base2                         c. 10BaseT
b. 10Base5                         d. Semua jawaban benar
Jawaban : c. 10BaseT
14.Suatu algoritma routing yang tidak mendasarkan keputusan routingnya pada kondisi topologi dan lalulintas saat itu adalah :
a. Non adaptive                         c. RCC
b. Adaptive                                     d. Hot potato
Jawaban : a. Non adaptive
15.Data/message yang belum dienkripsi disebut dengan :
a. Plaintext                         c. Auntext
b. Ciphertext                         d. Choke Packet
Jawaban : a. Plaintext
16.Algoritma Kontrol Kemacetan yang menjaga jumlah paket tetap konstan dengan menggunakan permits yang bersirkulasi dalam subnet adalah :
a. Kontrol Arus                         c. Pra Alokasi Buffer
b. Kontrol Isarithmic             d. Choke Packet
Jawaban : c. Pra Alokasi Buffer
17.Sekumpulan aturan yang menentukan operasi unit-unit fungsional untuk mencapai komunikasi antar dua entitas yang berbeda adalah :
a. Sintaks             c. Protokol
b. Timing             d. Routing
Jawaban : c. Protokol
18.Algoritma yang digunakan oleh transparent bridge adalah :
a. RCC                                     c. Flooding
b. Backward Learning             d. Shortest path
Jawaban : b. Backward Learning
19.Dalam model OSI internetworking membagi lapisan network menjadi beberapa bagian, kecuali
a. Intranet sublayer                         c. Internet sublayer
b. Access sublayer                         d. Enhanchement sublayer
Jawaban : a. Intranet sublayer
20.Teknik time domain reflectometry digunakan pada standard IEEE:
a. 802.2                         c. 802.4
b. 802.3                         d. 802.5
Jawaban : b. 802.3
21.Suatu cara yang mempunyai kemampuan untuk menyedian privacy, authenticity, integrity dan pengamanan data adalah :
a. Enkripsi                         c. Deskripsi
b. Antisipasi                         d. Semua jawaban salah
Jawaban : a. Enkripsi
22.Tujuan adanya jaringan komputer adalah…..
a. Resource sharing                         c. High reability
b. Penghematan biaya                         d. Semua jawaban benar
Jawaban : d. Semua jawaban benar
23.Mengontrol suapaya tidak terjadi deadlock merupakan fungsi dari lapisan :
a. Network Layer                         c. Data link Layer
b. Session Layer                         d. Application Layer
Jawaban : a. Network Layer
24.Frame yang terjadi apabila suatu stasiun mentransmisikan frame pendek kejalur ring yang panjang dan bertubrukan atau dimatikan sebelum frame tersebut dikeluarkan. Frame ini disebut dengan istilah :
a. Orphan                         c. Pure
b. Beacon                         d. Semua jawaban salah
Jawaban : b. Beacon
25.Wire center digunakan pada standar :
a. 802.2                         c. 802.4
b. 802.3                         d. 802.5
Jawaban : b. 802.3
26.Komponen dasar model komunikasi adalah :
a. Sumber                         c. Media
b. Tujuan                         d. Semua benar
Jawaban : d. Semua benar
27.Di bawah ini termasuk Broadcast network :
a. Circuit Switching                         c. Satelit
b. Paket Switching                         d. Semi Paket Switching
Jawaban : c. Satelit
28.Paket radio termasuk golongan :
a. Broadcast                         c. Publik
b. Switched                         d. Semua benar
Jawaban : a. Broadcast
29.Di bawah ini termasuk guided media :
a. UTP                         c. Fiber Optik
b. Coaxial                         d. Semua benar
Jawaban : d. Semua benar
30.Modul transmisi yang sifatnya searah adalah :
a. Pager                         c. TV
b. Simpleks                         d. Semua benar
Jawaban : c. TV

Tugas V-class Jaringan Komputer Lanjut [Essay]

[v-class Jarkom Lanjut] Jawaban Soal Essay :
1. Apakah dimaksud dengan komunikasi broadband ?
2. Sebutkan keuntungan SONET !
3. Jelaskan prinsip kerja dari ATM !
4. Apakah yang dimaksud dengan DSL ?
Jawaban:
1. Komunikasi Broadband merupakan komunikasi data yang memiliki kecepatan tinggi dan juga memiliki bandwidth yang besar. Ada beberapa definisi untuk komunikasi broadband, antara lain : menurut rekomendasi ITU No. I.113, “Komunikasi broadband didefinisikan sebagai komunikasi dengan kecepatan transmisi 1,5 Mbps hingga 2,0 Mbps.”. sedangkan menurut FCC di amerika, “ komunikasi broadband dicirikan dengan suatu komunikasi yang memiliki kecepatan simetri (up-stream dan down-stream) minimal 200 kbps. Maka dari itu komunikasi brodband sering disebut juga dengan komunikasi masa depan. Broadband itu sendiri menggunakan beberapa teknologi yang dibedakan sebagai berikut :
a. Digitas Subscriber Line (DSL).
b. Modem Kabel.
c. Broadband Wireless Access (WiFi dan WiMAX).
d. Satelit.
e. Selular.
2. Keuntungan SONET (Synchronous Optical Networking) :
a. Dapat memberikan fungsionalitas yang bagus baik pada jaringan kecil, medium, maupun besar.
b. Collector rings menyediakan interface ke seluruh aplikasi, termasuk local office, PABX, access multiplexer, BTS, dan terminal ATM.
c. Manejemen bandwith berfungsi untuk proses routing, dan manajemen trafik.
d. Jaringan backbone berfungsi menyediakan konektifitas untuk jaringan jarak jauh.
e. Memiliki fitur redudansi yang mirip dengan FDDI.
3. Prinsip kerja ATM (Automatic Teller Machine) :
a. Pada ATM, informasi dikirim dalam blok data dengan panjang tetap yang disebut sel. Sel merupakan unit dari switching dan transmisi.
b. Untuk mendukung layanan dengan rate yang beragam, maka pada selang waktu tertentu dapat dikirimkan sel dengan jumlah sesuai dengan rate-nya.
c. Sebuah sel terdiri atas information field yang berisi informasi pemakai dan sebuah header.
d. Informasi field dikirim dengan transparan oleh jaringan ATM dan tak ada proses yang dikenakan padanya oleh jaringan.
e. Urutan sel dijaga oleh jaringan, dan sel diterima dengan urutan yang sama seperti pada waktu kirim.
f. Header berisi label yang melambangkan informasi jaringan seperti addressing dan routing.
g. Dikatakan merupakan kombinasi dari konsep circuit dan packet switching, karena ATM memakai konsep connection oriented dan mengggunakan konsep paket berupa sel.
h. Setiap hubungan mempunyai kapasitas transfer (bandwidth) yang ditentukan sesuai dengan permintaan pemakai, asalkan kapasitas atau resource-nya tersedia.
i. Dengan resource yang sama, jaringan mampu atau dapat membawa beban yang lebih banyak karena jaringan mempunyai kemampuan statistical multiplexing.
4. DSL (Digital Subcriber Line) merupakan atu set teknologi yang menyediakan penghantar data digital melewati kabel yang digunakan dalam jarak dekat dari jaringan telepon setempat, biasanya kecepatan downolad dari DSL berkisar dari 128 kbit/d sampai 24.000 kb/d tergantung dari teknologi DSL tersebut. Kecepatan upload lebih rendah dari download untuk ADSL dan sama cepat untuk SDSL.
contoh teknologi DSL (kadang disebut dengan xDSL) termasuk:
a. High-bit-rate Digital Subscriber Line (HDSL)
b. Symmetric Digital Subscriber Line (SDSL)
c. Asymmetric Digital Subscriber Line (ADSL)
d. Rate-Adaptive Digital Subscriber Line (RADSL)
e. Very-high-bit-rate Digital Subscriber Line (VDSL)
f. Very-high-bit-rate Digital Subscriber Line 2 (VDSL2)
g. Symmetric High-speed Digital Subscriber Line (G.SHDSL)

Selasa, 23 Juli 2013

Perkembangan Terkini Teknologi Game



Game atau dalam bahasa Indonesia diartikan sebagai permainan. Dalam Perkembangannya game yang dulu pada abad 19 masih bersifat tradisional, secara terus menerus berkembang dengan adanya teknologi-teknoplogi yang ditemukan. Perkembangan ini dimulai terutama pada pertengahan abad 19 (tahun 1900an). Dimana pada waktu itu komputer mulai ditemukan dan dengan semakin berkembangnya komputer tersebut, yang bukan saja sebagai alat bantu mempermudah kerja manusia, tetapi juga sebagai sarana hiburan. Pada saat itulah game berkembang seiring kebutuhan manusia akan hiburan tersebut.

Games pertama hanya berupa:
1. Permainan game 2 Dimensi
2. Permainan game 3 Dimensi
3. Permainan game online

PERKEMBANGAN GAMES
Berikut ini akan kita bahas mengenai perkembangan game dari dasar sampai:

Tahun 1951
Pada tanggal 5 Mei 1951, komputer Nimrod diperlihatkan pada Festival Britania. Dirancang secara eksklusif untuk memainkan permainan NIM; ini merupakan contoh pertama dari sebuah komputer digital yang dirancang khusus untuk memainkan game. Nimrod bisa bermain baik tradisional atau "terbalik" bentuk permainan.

NIM adalah numerik dua pemain permainan strategi, yang diyakini akan datang berasal dari cina kuno. NIM permainan Peraturannya sederhana: Ada sejumlah "tumpukan" (kelompok objek), dan masing-masing kelompok berisi jumlah objek tertentu (yang biasa array dimulai dari NIM adalah 3 tumpukan yang berisi 3, 4, dan 5 objek masing-masing) . Setiap pemain menghapus objek dari tumpukan bergantian, tapi semua benda harus dihapus dari satu tumpukan dan jumlah objek dihapus tidak 0. Pemain untuk mengambil objek terakhir tumpukan terakhir adalah pecundang, tetapi ada variasi permainan di mana pemain untuk mengambil objek terakhir tumpukan terakhir adalah pemenangnya.
Tahun 1958: Tennis for Two
Sudah dikatakan bahwa "Tenis For Two" menjadi inspirasi bagi dunia Atari video game terkenal "Pong". Permainan ini diciptakan oleh William Higinbotham, seorang ilmuwan dari Brookhaven National Laboratory. Hal ini dibuat sebagai hiburan, jadi laboratorium pengunjung punya sesuatu yang pada waktu luang. Permainan elektronik didesain dengan sangat baik untuk eranya
Pembuatannya dengan cara: bola dibuat banyak faktor seperti posisi / sudut kontak, kecepatan angin, gravitasi dan sebagainya, Anda harus menghindari bersih seperti di tenis nyata, dan banyak pilihan lain. Permainan hardware juga punya dua "joystick" (dua kontroler dengan tombol rotasi dan sebuah tombol masing-masing) yang terhubung ke konsol analog, dan sebuah osiloskop sebagai layar. Game ini menampilkan lapangan tenis sederhana dipandang dari samping. Bola seakan dipengaruhi oleh gravitasi dan harus melewati net/jaring. Dengan dua kontrol yang masing-masing dilengkapi knop untuk mengarahkan bola dan sebuah tombol untuk memukul bola sampai melewati net.

Tahun 1990an: 3D Game
Pada awal tahun 1980-an juga ditandai dengan hadirnya media penyimpan CD-ROM yang dalam waktu singkat menjadi populer. Era game 3 dimensi (3D) dengan perspektif orang pertama dan multiplayer game mulai muncul di era ini. Jadi, memang terasa bahwa pasar game komputer semakin berkembang sejalan dengan perkembangan teknologi pendukungnya. Di sisi konsumen, game pun menjadi lebih nyata dan menarik.

Dengan power komputasi dan turunnya cost untuk prosesor seperti Intel 386, 486, dan Motorola 68000, di tahun 1990 perkembangan kemampuan multimedia dengan sound card dan CD-ROM lebih berarti.

Game 3D pertama adalah First Shooting Person

First Person Shooter adalah sebuah game di mana pemain memegang kontrol secara penuh pada tokoh utama dan dapat berinteraksi langsung dengan sekitarnya. Pemain berkonsentrasi pada bagaimana memilih senjata berbagai tipe dengan amunisi yang terbatas. Hal itu dilakukan untuk dapat memenangkan games yang sedang dimainkan.

Tahun 2000 : Game On-line/ Network Multimedia Game
Game pada tahun 1990 telah berkembang ke arah Network Multimedia Game, di mana banyak pemain dari lokasi yang saling berjauhan berinteraksi satu sama lain secara real time dalam satu jaringan komputer. Sebut saja misalnya yang pernah membuat demam kampus sekira tahun 2001 lalu.

Contoh lainnya adalah Counter Strike sebuah game 3D multiplayer mengambil tema simulasi taktik pertempuran.



Tahun 2003 : Era Penggunaan Graphic Card High Classification
Beberapa pihak selama ini mengklaim bahwa game console seperti Playstation dan XBOX adalah tempat terbaik untuk bermain game, sementara fungsi game di PC hanyalah fungsi tambahan. Kebanyakan gamer juga masih menganggap bahwa game console mampu memberikan gambar yang lebih baik ketimbang PC.Dalam hal ini anggapan tersebut bisa bersifat benar bisa juga salah.Namun seiring perkembangan komputer dan piranti2nyua anggapan itu biasaditepis dengan hadirnyaVideographic/videocad.Semenjak tahun 2003 (tepatnya di era Geforce 4), perkembangan teknologi videocard untuk PC sudah jauh diatas kemampuan chip grafis yang digunakan oleh game console terbaik saat itu.
Playstation2 dan XBOX (generasi pertama), saat itu memiliki kinerja yang masih dibawah Geforce4 Ti 4200.


Memang harus diakui bahwa harga videocard Geforce4 tipe tersebut saat itu masih lebih mahal daripada harga sebuah Playstation2. Hal itulah yang menyebabkan bermain game di PC dianggap sebagai hal yang mewah dan dianggap lebih menghabiskan biaya ketimbang bermain game di PC. Empat tahun telah berlalu dan kini game console telah menjelma pula menjadi barang mewah. XBOX telah berevolusi menjadi XBOX 360 yang kini harga jualnya sekitar 4 juta, dan Playstation2 juga telah alih generasi menjadi Playstation 3 yang dibandrol dengan harga 5 juta lebih.

X BOX 360

Playstation 3

Bila dulu harga game console lebih murah daripada sebuah PC biasa, kini harga sebuah game console lebih mahal daripada PC biasa bahkan notebook.
Banyak pecinta game console berpendapat harga tersebut pantas karena mereka mengangggap bahwa XBOX 360 dan Playstation3 adalah sarana bermain game yang memiliki tampilan grafis terbaik saat ini. Ini adalah anggapan yang salah besar, dan ini disebabkan karena para consoole mania tersebut terlaku lama melotot didepan TV bersama game console kesayanganya hingga tidak mengikuti perkembangan teknologi terkini. Hingga detik ini, PC masih tetap merupakan perangkat bermain game gaming yang lebih canggih dibanding game console terbaru sekalipun. Secara logika akal sehat saja, mustahil sebuah PC kalah canggih dibanding game console, karena semua game console diciptakan di PC. Saat ini, teknologi videocard untuk PC lagi-lagi telah jauh diatas kecanggihan teknologi game console terbaru. Seri videocard Geforce yang 4 tahun lalu masih seri ke 4, kini telah memasuki seri ke 8, yaitu Geforce 8800. Geforce 8800 seri termurah, yaitu Geforce 8800GTS 320MB memiliki teknologi & kinerja yang jauh diatas XBOX 360 dan Sony Playstation3. Namun harga videocard tersebut bahkan lebih murah dibanding harga Playstation3 dan XBOX 360.

Sebuah Gaming PC berbasis prosesor terbaru (Core2 Duo) dan menggunakan generasi videocard terkini (Geforce 8800GTS) memang akan menelan biaya nyaris 2X harga XBOX 360, namun Gaming PC tersebut memiliki fungsi yang 7X lebih banyak dibanding sebuah game console. Dan perlu diingat bahwa tampilan game di Gaming PC tersebut jauh lebih baik dibanding di XBOX 360.

Playstation4

Sony juga mengatakan bahwa PlayStation 4 akan memasuki pasaran pada "musim liburan" tahun 2013, kendati raksasa elektronik asal Jepang itu belum menyebutkan tanggal pastinya. Bisa dipastikan PS4 akan bersaing keras dengan Xbox One dalam menarik minat pembeli tahun ini. Konsol PS4 sendiri diperkuat prosesor AMD dengan delapan core "Jaguar" dan pemroses grafis Radeon, dipadu RAM GDDR5 sebesar 8 GB. Mesin game ini turut dilengkapi drive Blu-ray berkecepatan 6x dan hard disk internal. Sony memasangkan PS4 dengan controller canggih Dual-Shock 4 yang dilengkapi sejumlah fitur baru, seperti touchpad, speaker internal, dan motion detection.

Daftar Pustaka :

http://tekno.kompas.com/read/2013/06/11/11463162/Ini.Dia.Harga.Resmi.PlayStation.4
http://designbyhill.blogspot.com/2010/02/perkembangan-teknologi-game.html
http://elvinoap.blogspot.com/

Selasa, 25 Juni 2013

Organic Rendering

"Awan bukanlah bola, gunung tidak kerucut"

-Benoit Mansdelbrot
TOPIK UTAMA
  • Alam dan Kompleksitas
  • Pohon
  • Rumput
  • Clouds
  • Oceans
  • Penutupan
 
Sistem partikel mungkin telah membantu memperluas persepsi Anda tentang apa yang dapat diberikan secara real time. tapi
tunggu, masih ada lagi. Ada beberapa objek yang tidak dapat dinyatakan dalam hal geometri konvensional,
mereka juga tidak cocok untuk representasi oleh sistem partikel. Ambil pohon, misalnya: ek yang menjulang tinggi
dengan ribuan daun, cabang, dan kulit. Berapa banyak segitiga yang berbeda yang Anda butuhkan untuk membuat itu semua
keindahannya? Seperti siapa pun akrab dengan fraktal tahu, jawabannya tergantung pada resolusi: Bagaimana akurat lakukan
Anda perlu? Benda yang ditemukan di alam menunjukkan milik kedalaman fraktal: tingkat yang hampir tak terbatas
detail, yang membuat mereka benar-benar kompleks untuk menangani dalam permainan real-time. Pada titik tertentu, Anda akan perlu
mencapai kompromi antara daya tarik visual dan frame rate yang stabil.
Dengan demikian, render organik didefinisikan sebagai teknik yang digunakan untuk membuat representasi yang realistis dari alam menggunakan
komputer grafis. Perhatikan bahwa saya berbicara tentang rendering, bukan modeling. Jika Anda perlu untuk cat mobil, sebagian besar
dari keputusan yang dibuat pada model tahap-misalnya, jumlah segitiga yang dibutuhkan, tekstur,
dan sebagainya. Dengan alam dan rincian halus tak terhingga, kita perlu untuk mengangkut bagian dari pekerjaan ke
render panggung, menerapkan algoritma khusus untuk membuat perkiraan yang baik dari alam.
Bab ini dikhususkan untuk subjek render organik. Ini adalah subjek yang indah, dan hasilnya
sering cukup spektakuler. Sayangnya, itu bukan kasus satu ukuran cocok untuk semua. Kebanyakan algoritma bekerja pada caseby-
per kasus, dan meskipun beberapa strategi umum yang ada, kita perlu berpikir dalam hal yang sangat spesifik
masalah. Aku akan menutupi manifestasi yang berbeda dari alam satu per satu (pohon, rumput, awan, dan sebagainya) dan
mengeksplorasi algoritma yang cocok untuk masing-masing.

Alam dan Kompleksitas
 
Awan bukan bola, pegunungan tidak kerucut, dan kulit pohon tidak lancar. Dalam satu kata, alam
kompleks. Dengan kompleks saya berarti bahwa tingkat detail tidak menurun seperti yang kita melihat lebih dekat.
Ambil jam tangan, misalnya. Jika Anda melihatnya dari beberapa meter jauhnya, Anda hanya akan melihat nya
bentuk umum. Tapi saat Anda bergerak lebih dekat, detail akan muncul. Perhatikan, bagaimanapun, bahwa rincian tampaknya berhenti di
skala tertentu. Tidak ada fitur tunggal lebih kecil dari beberapa milimeter. Jika Anda adalah untuk melihatnya melalui
mikroskop, Anda akan melihat bahwa permukaan tidak benar-benar mulus tapi penuh pegunungan karena manufaktur.
Namun, setidaknya dalam hal jelas, ada diskontinuitas secara rinci.
Sekarang, bandingkan jam tangan dengan daun pohon. Semakin dekat Anda melihat, semakin banyak detail yang Anda lihat, bahkan pada
tingkat mikroskopis. Ada peningkatan yang terus menerus dalam detail seperti yang kita meningkatkan skala. Ini menarik
milik unsur-unsur alam yang dimiliki oleh semua hewan, tumbuhan, air, awan, dan bahkan medan. ini
kontinuitas memanifestasikan dirinya dalam dua tampaknya berbeda tetapi mirip skenario: geometri dan penampilan.
Menggunakan contoh daun lagi, Anda melihat saat Anda bergerak lebih dekat saraf, keriput, dan sebagainya, tetapi juga
pola kecil texturing, perubahan warna halus, dan banyak lagi.
Jadi, kesimpulan pertama analisis ini menunjukkan bahwa semua metode yang ditujukan untuk alam render akan memiliki
tingkat-of-detail (LOD) komponen, memungkinkan kita untuk mendekati tingkat yang bervariasi detail ditemukan di dunia nyata.

Pohon

Pohon render baru-baru ini menemukan jalan ke game komputer. Simulator golf merupakan yang pertamamencoba untuk menyampaikan tampilan pohon realistis (biasanya dengan mensimulasikan mereka dengan billboard). Tapi banyak permainanhari ini berlangsung di luar skenario, sehingga pohon-pohon yang semakin populer.Pohon dapat diberikan dalam berbagai cara, dan keputusan tentang cara untuk melakukan ini tergantung pada prioritaspohon-pohon di rendering pipeline. Ada banyak pendekatan yang berbeda, namun masing-masing menawarkan yang berbedaHubungan biaya-manfaat, sehingga Anda perlu menganalisis berapa banyak siklus jam atau segitiga Anda akancurahkan untuk skenario Anda. Dalam beberapa game action, pohon bisa menjadi latar belakang terhadap yang gameplayterjadi, dan dengan demikian, metode murah sederhana akan dipekerjakan. Dalam skenario lain, seperti role-playing game(RPG), pohon adalah bagian dari atmosfer, dan dengan demikian lebih banyak energi akan dikhususkan untuk menggambarkan merekarealistis.Aku akan mencakup metode rendering yang berbeda secara rinci, menekankan karakteristik kunci (memorijejak, penggunaan CPU, segitiga, dan sebagainya) sehingga Anda dapat membuat keputusan untuk permainan Anda.

Baliho

Sebuah billboard adalah quad layar-blok yang digunakan untuk menggantikan kompleks, objek yang jauh dengan sebuah beresolusigambar. Sebagai pemirsa bergerak sekitar, billboard juga berputar, sehingga selalu menghadap ke arah Anda. Balihoyang besar untuk pohon yang jauh karena mereka memungkinkan Anda untuk mewakili hutan visual padat dengan hanya beberapasegitiga.Seperti yang Anda telah lihat, menyelaraskan sebuah billboard dengan layar relatif mudah. Yang Anda haruslakukan adalah menghitung vektor dunia-ruang, yang bila diproyeksikan, menghasilkan vektor layar-blok, dan kemudian menggunakanmereka untuk membuat primitif. Perhitungan ini dengan mudah dapat dibuat dari pemodelan dan proyeksimatriks dalam API pilihan Anda atau langsung dengan menggabungkan posisi pemain dan sudut rotasi dengan beberapatrigonometri pintar.Jika Anda memutuskan untuk membuat pohon billboard, Anda harus menyadari beberapa teknik yang mungkin bisa membantuuntuk meningkatkan realisme hasilnya. Cobalah untuk menggunakan banyak tekstur yang berbeda sebanyak yang Anda bisa, sehingga lanskapterlihat variatif dan tidak pengulangan dari pohon yang sama. Jika memungkinkan, pak semua tekstur pohon besar, tunggaltekstur, sehingga Anda dapat merangkum seluruh hutan dalam panggilan render tunggal, menghindari tekstur selalu mahalbertukar operasi.Sepotong kedua saran: Jika Anda mampu membelinya, menerapkan halus skewing layar-blok ditransformasi ke pohonuntuk menyampaikan animasi. Pastikan pohon yang bertahap dari satu sama lain, sehingga hasil keseluruhan memberikan rasakekacauan, yang akan membantu realisme. Skewing dapat diimplementasikan dengan mudah di billboard. Ini hanya masalahmeninggalkan simpul dasar tidak berubah sementara menerjemahkan simpul atas sepanjang garis didefinisikan oleh screenalignedvektor horisontal, seperti yang ditunjukkan pada Gambar 20.1.
                                                            Gambar 20.1

 Teknik perbaikan lainnya adalah bermain dengan warna dan ukuran sedikit. Anda dapat baik tekstur recolor sehinggamereka terlihat berbeda atau memodifikasi warna per-vertex dan memodulasi warna tekstur sedikit di pass rendering.Apapun pilihan Anda, idenya adalah bahwa tidak ada dua pohon akan terlihat persis sama, mereka harus bervariasi dalam ronamelalui spektrum yang relatif luas. Juga, bermain dengan ukuran. Mengubah toko satu skala untuk setiap pohon, sehingga Andadapat menampilkan pohon ukuran yang berbeda. Variasi besar tidak benar-benar diperlukan. Membiarkan persen deviasi 10-15dari "standar" ukuran adalah semua yang Anda butuhkan untuk lebih memecah pola lanskap, dan dengan demikian menciptakanSkenario meyakinkan.Baliho besar jika Anda perlu untuk menciptakan sebuah hutan pada platform sumber daya yang sangat terbatas. Dengan demikian, semuateknik dijelaskan sebelumnya diarahkan untuk meningkatkan realisme hasil, karena hal iniTeknik ini cukup terbatas. Sekarang mari kita telusuri beberapa keterbatasan dan item yang harus diperhatikan saat menggunakanpohon billboarded.Pertama dan terpenting, sangat berhati-hati dengan melihat jarak. Seperti Anda mungkin tahu, billboard tidak benar-benardimaksudkan untuk dilihat dari dekat. Mereka adalah datar, terlihat pixelated, dan jika billboard dekat dengan tepi lateral yanglayar, dapat melihat terdistorsi.Alternatif terbaik untuk memperbaiki datar, terlihat pixelated adalah untuk memadukan representasi billboard jauh denganup versi dekat dibuat dengan menggunakan metode yang lebih terlibat. Pohon berbasis rendering gambar dapat digunakan jugasebagai obyek geometri nyata. Aku akan pergi ke lebih rinci tentang pendekatan ini karena saya mengeksplorasi masing-masing teknik.Masalah distorsi agak sulit untuk menangani. Billboard dirancang selalu menghadap kamera.Dengan demikian, jika mereka dekat dengan penonton, sebuah gerakan kamera kecil akan menyiratkan pergeseran sudut besar, sehinggabillboard akan berputar untuk mengakomodasi posisi pemain baru dan kadang-kadang dapat terlihat salah.Dua solusi yang ada untuk memecahkan masalah ini. Opsi pertama adalah untuk menyelaraskan billboard tidak begitu mereka menghadapikamera, tapi begitu mereka menghadapi melihat pesawat kamera (lihat Gambar 20.2). Dengan melakukan ini, billboard jauh akanmasih terlihat benar (masalah sudut dapat diabaikan di sini). Contoh dekat tidak akan lagi memutar untuk menghadapipenampil, dan tampilan yang lebih realistis akan tercapai.
Gambar 20.2. Billboard selaras dengan kamera (kiri) dibandingkan billboard selarasdengan pesawat kamera melihat untuk mengoreksi distorsi.
Alternatif kedua adalah untuk memungkinkan rotasi terbatas atas pesawat melihat kamera. Ini adalah tengah-ofthe-solusi jalan yang memberikan hasil cukup baik. Di sini, billboard akan dihitung seolah-olah mereka menghadapikamera. Kemudian, sudut antara representasi dan bidang pandang akan dihitung, dan hanyayang terbatas rotasi akan diizinkan. Dengan cara ini pohon dapat berorientasi ke kamera ketika merekajauh, dan lebih dekat pohon tidak menderita artefak rotasi ditemukan di billboard klasik.
Metode Image-BasedTradisional programmer grafis cenderung memiliki kecenderungan untuk segitiga. Semua masalah harus mendidih kesegitiga render dan (kadang-kadang cukup rumit) representasi geometris. Tapi bagaimana kalau kita lupatentang itu sebentar? Bagaimana jika, bukannya membusuk segalanya menjadi segitiga, kami memilih yang berbedaprimitif? Rendering Image-Based (IBR) adalah denominator umum dari banyak teknik yang berbeda yang melakukantidak mencoba untuk membuat representasi geometris akurat benda, melainkan menyampaikan daya tarik visual mereka denganmenggunakan gambar. Dalam kasus ekstrim, sebuah billboard adalah metode IBR. Tapi banyak metode IBR lain ada,menghasilkan hasil yang lebih baik.Pohon render sangat cocok untuk IBR. Pohon memiliki set data geometris yang besar, dengan pohon yang layak membutuhkanlebih dari 10.000 segitiga. IBR, di sisi lain, menempatkan penekanan pada tekstur, menjaga segitigamenghitung relatif rendah. Seperti yang akan Anda lihat sebentar lagi, Anda dapat membuat pohon relatif tampan dengan sekitar20 segitiga menggunakan beberapa teknik IBR pintar.Teknik IBR juga dapat ditingkatkan atau bawah untuk menawarkan berbagai tingkat detail. Kita akan melihat bagaimana mereka berbauralami dengan billboard dan dapat dengan mudah diintegrasikan dengan representasi geometri juga.

Metode IBR ParalelMetode IBR Paralel dirancang untuk secara akurat menggambarkan pohon yang merupakan bagian dari latar belakang. Ituketerbatasan adalah bahwa kita harus baik secara statis atau bergerak pada bidang sejajar dengan pohon-pohon. Dengan demikian, itu adalah cocokmetode untuk petualangan, permainan yang paling berkelahi, dan sebagainya.Ide utama adalah untuk mewakili kompleksitas pohon nyata dengan hirarkis, berlapis billboard array. Kamiakan menggunakan salah satu billboard untuk batang pohon, dan dari sana, serangkaian billboard dihubungkan oleh sendi, banyakseperti karakter dalam animasi skeletal. Dengan demikian, kita dapat menghidupkan pohon seolah-olah ditiup angindengan menyebarkan gerakan melalui hirarki sekaligus menjaga jumlah segitiga yang sangat rendah. Sebuah model yang baik daripohon dengan menggunakan metode ini dapat memakan waktu sekitar 25 quads untuk membuat, sehingga metode yang dapat digunakan untuk hutan lebat sebagaibaik.Kesulitan utama dari metode ini adalah mendapatkan data billboard sehingga dihasilkan pohon terlihat baik. Itumetode yang saya akan merekomendasikan membutuhkan paket render (3ds max, Maya, dan sebagainya) dan setiap pohonpemodelan plug-in yang tersedia untuk mereka. Anda mulai dengan model pohon dengan sedetail yang Anda inginkan.Ingatlah bahwa ini adalah metode IBR, sehingga lebih detail tidak berarti kompleksitas lebih atau lebih rendah
   
frame rate. Jadi, pastikan pohon itu serealistis mungkin.
Kemudian, Anda perlu menggunakan pesawat kliping atau operasi Boolean untuk mengekstrak irisan geometri pohon di arah Z
dan mengambil snapshot dari geometri yang. Batangnya umumnya dapat disimpan dalam satu lapisan, sehingga pohon
dedaunan adalah di mana Anda harus menghabiskan sebagian besar waktu Anda. Pastikan cabang besar secara hirarki dibagi menjadi
beberapa lapisan karena ini akan memungkinkan lebih halus animasi nanti. Saya sarankan menyimpan lapisan ini menggunakan beberapa
bermakna konvensi penamaan karena merekonstruksi pohon sesudahnya dapat menjadi rumit jika Anda tidak.
Sebagai contoh, saya encode nama sebagai serangkaian surat, yang mewakili disposisi hirarkis dari
diberi lapisan seperti yang ditunjukkan pada Gambar 20.3.
                                                 Gambar 20.3. Penamaan untuk cabang hirarkis.
 

Langkah berikutnya melibatkan menyimpan "anchor point" untuk setiap patungan antara dua lapisan. Jangkar titikdi mana kita akan menghubungkan potongan. Cabang A akan memutar sehubungan dengan tempat ini, jadi mendeteksi dengan benar adalahpenting untuk realisme adegan lengkap. Anda harus menyimpan koordinat ini bersama di 2D, mengacu padasistem koordinat elemen saat ini, seperti yang ditunjukkan pada Gambar 20.4.Gambar 20.4. Pohon berbasis gambar Orthogonal dengan paha ditampilkan.Jadi set data kami sekarang siap.Untuk membuat itu, kita harus mengikuti pendekatan animasi skeletal. Setiap baru billboard mewarisi gerakan dari yangorangtua dan menyebarkan ke bawah untuk anak-anak. Sebagai aturan praktis, node lebih dekat ke akar umumnyahttp://www.tar.hu/gamealgorithms/ch20lev1sec2.html (4 dari 8) 2/9/2009 18:13:19http://www.tar.hu/gamealgorithms/ch20lev1sec2.htmllebih besar dan lebih berat. Dengan demikian, kisaran pergerakan berbagai cabang harus meningkatkan sedikit seperti yang kitamenjauh dari akar pohon dan maju ke daun.Menggabungkan semua langkah dalam proses ini menghasilkan pohon yang sangat realistis. Catatan, bagaimanapun, bahwamenciptakan kumpulan data adalah proses yang membosankan, terutama jika Anda perlu melakukannya untuk beberapa jenis pohon untuk membuathutan. Oleh karena itu, disarankan agar Anda kode beberapa plug-in untuk modeler pilihan Anda, yang membuat hidupmudah. Sebuah GUI intuitif sangat dapat menyederhanakan menciptakan set data metode ini.Perpanjangan mekanisme ini menggunakan IBR paralel untuk daun, yang biasanya disimpan dalam kelompok, dangeometri nyata (mungkin dengan jerat progresif seperti dijelaskan pada Bab 21, "Teknik Prosedural") untukbagasi. Dengan cara ini kita memiliki pohon kita dapat bergerak lebih dekat, dan jika daun dirancang untuk menggabungkan tidak hanyayaw tapi lapangan juga, kita dapat melihat dari bawah.Metode IBR OrthogonalMetode paralel dijelaskan pada bagian sebelumnya memungkinkan penciptaan pohon realistis untuk statis atauGerakan terbatas pemain. Mereka menyampaikan rasa paralaks dan volume, dan dapat animasi. Itudownside adalah bahwa kita tidak dapat melihat pohon dekat, atau mengitarinya realistis. Alasan untuk iniketerbatasan terletak pada resolusi tekstur dan dalam kenyataan bahwa tekstur adalah layar-blok, sehingga berputar di sekitarmereka adalah mustahil.Sebuah teknik baru harus digunakan untuk kasus-kasus yang membutuhkan lebih banyak fleksibilitas. Seperti pada kasus sebelumnya, iniTeknik ini agak mirip dengan medis tomografi aksial komputerisasi (CAT) scan, sehingga irisan pohonharus diambil.Tapi kali ini kita akan dapat berputar bebas dan, dengan beberapa keterbatasan, bahkan tinggal di bawah naungan pohon-pohon.Perbedaan utama adalah bahwa saat ini kita tidak akan mengambil irisan paralel tetapi akan sampel pohon baik di XY danYZ pesawat, sehingga kita mendapatkan serangkaian peta tekstur merata spasi. Kemudian, kita akan melukis mereka, merekonstruksiproporsi pohon seperti dalam volume rendering konvensional. Untuk mencegah penampil dari memperhatikanpola yang teratur, alpha-blending akan digunakan untuk memastikan kelancaran transisi antara billboard selaras dalamkedua sumbu. Dengan cara ini kita dapat melihat pohon dari jarak dan mengitarinya. Semakin banyak billboard Andadigunakan, hasil yang lebih baik akan Anda raih. Namun, demo dengan sekitar 5-8 irisan di setiap arah (yang mengakibatkansebuah segitiga 20-32 pohon) terlihat cukup baik. Satu-satunya masalah dengan teknik ini adalah bahwa bagasi biasanya harusditangani secara terpisah, karena sebagian besar waktu itu akan terlihat salah.Masalah lain adalah bahwa penampil tepat di bawah pohon seharusnya tidak diperbolehkan untuk mencari, atau ilusikompleksitas akan hilang sepenuhnya. Gerakan lapangan sehingga harus dibatasi untuk teknik ini untuk mencapai baikhasil. Sebuah solusi untuk situasi ini adalah menggunakan tidak dua sumbu tapi tiga sumbu: XY, YZ, dan XZ. The XZbillboard jarang akan digunakan kecuali untuk memecahkan kasus dimana penonton ditempatkan di bawah pohon. Kemudian,puncak pohon akan diiris dalam lapisan horisontal, dan rasa volume dan paralaks akan dipertahankan. Tapisolusi ini jarang diterapkan karena memerlukan peta tekstur bahkan lebih (metode IBR semuatekstur lapar). Ini jauh lebih mudah untuk membatasi gerakan kamera sedikit.Adapun pelaksanaan, metode ortogonal dimulai seperti metode paralel: dengan pemodelan beresolusi sangatpohon menggunakan plug-in atau paket. Pohon bisa lagi serumit yang Anda inginkan karena kitatidak akan menggunakan geometri sama sekali. Proses mengiris tidak terjadi dalam paket pemodelan tetapi dalampreprosesor atau pada saat beban dalam aplikasi utama. Algoritma ini adalah sebagai berikut:menghitung kotak berlari pohonpilih nomor yang benar irisanhttp://www.tar.hu/gamealgorithms/ch20lev1sec2.html (5 dari 8) 2/9/2009 18:13:19http://www.tar.hu/gamealgorithms/ch20lev1sec2.htmluntuk setiap irisan di XYmenempatkan kamera dalam posisi tetap sepanjang sumbu Zmenginisialisasi depan dan belakang pesawat kliping sehingga Anda membatasi Zbuffer ke daerah Andaingin mengirismembuat frame, simpan ke disk (mungkin dibersihkan)end untukuntuk setiap irisan di YZ pesawatmenempatkan kamera dalam posisi tetap sepanjang sumbu Xmenginisialisasi depan dan belakang pesawat kliping sehingga Anda membatasi Zbuffer ke daerah Andaingin mengirismembuat frame, simpan ke disk (mungkin dibersihkan)end untukPerhatikan bahwa posisi kamera tidak benar-benar relevan, asalkan tetap masih di atas loop rendering.Satu-satunya perbedaan itu akan membuat adalah pada ukuran billboard, yang akan disesuaikan dengan ukuran tekstur yang cocoksesudahnya pula.Sekarang Anda harus memiliki serangkaian gambar RGBA siap untuk rendering. Seperti yang Anda lihat, preprocess ini jauhsederhana daripada yang diperlukan dalam metode paralel. Untuk rendering, Anda harus mulai dengan rendering semuagambar untuk serangkaian sumbu-sejajar paha depan, sehingga mereka merekonstruksi geometri pohon. Kemudian, Anda harusalpha-berbaur paha depan tergantung pada sudut ke penampil. Secara khusus, paha depan menghadap penonton harusburam, dan sebagai quad bergerak menjauh dari penampil, transparansi harus meningkat. Tuning kode inisangat penting untuk ilusi volume, sehingga sedikit trial and error diperlukan. Setelah Anda mencapai hal ini, Andaharus melihat XY dan YZ billboard "bergiliran," sehingga XY quads fade out, fade in YZ paha depan untuk menciptakanterlihat terus menerus dari volume pohon. Kadang-kadang bagasi akan bekerja dengan baik dengan teknik ini, dankadang-kadang Anda akan perlu menggunakan mesh reguler untuk bagasi karena akan terlihat berlapis. Anda dapat melihathasil keseluruhan digambarkan pada Gambar 20.5.Gambar 20.5. Tampilan akhir dari pohon dengan titik jangkar dan peta tekstur ditampilkan. [1]http://www.tar.hu/gamealgorithms/ch20lev1sec2.html (6 dari 8) 2/9/2009 18:13:19http://www.tar.hu/gamealgorithms/ch20lev1sec2.html[1] Gambar dari Aleks jakulin. "Vegetasi Rendering Interaktif dengan slicing dan Blending,"Eurographics 2000. Digunakan dengan izin.Pohon IBR Orthogonal terlihat sangat meyakinkan. Tapi mereka memiliki sisi negatifnya. Metode animasi hirarkiskami merancang untuk pohon paralel tidak layak di sini. Peta tekstur yang merata spasi dan memindahkan mereka akanmembuat pohon terlihat seperti itu melanggar. Sebuah perbaikan kecil dapat dicapai dengan geser simpul atasdari paha depan yang sangat halus, sehingga terlihat seperti puncak pohon secara keseluruhan bergerak. Kadang-kadang Anda bahkan akan dapatuntuk menambahkan beberapa paha ekstra manual ke puncak pohon, sehingga Anda dapat memindahkan mereka sedikit dan meniru animasi.Namun, teknik ini bekerja terbaik dengan pohon statis.Kelemahan lain untuk teknik ini pada khususnya (dan IBR pada umumnya) adalah bahwa penggunaan tekstur hanya meroket.A, pohon kualitas rinci baik akan membutuhkan banyak irisan berkualitas baik, dan ini berarti banyak memori akandigunakan. Ambil, misalnya, sebuah pohon yang terbuat dari 8 +8 irisan, masing-masing disimpan sebagai 32-bit RGBA 256x256 bitmap.Setiap bitmap akan memerlukan 256KB memori terkompresi untuk grand total 4MB untuk seluruh pohon. Andamungkin berpendapat bahwa angka-angka ini tidak terlalu buruk karena kita tidak menggunakan geometri apapun sebagai imbalan.Meskipun hal ini benar, 4MB per pohon membuat menggunakan teknik ini sangat keras dalam setiap permainan utama,dimana set data harus disimpan ke minimum. Berikut adalah beberapa saran untuk mengurangi kebutuhan tekstur:http://www.tar.hu/gamealgorithms/ch20lev1sec2.html (7 dari 8) 2/9/2009 18:13:19http://www.tar.hu/gamealgorithms/ch20lev1sec2.htmll Jangan menyimpan nilai alpha. Toko transparansi menggunakan warna hitam dan menghasilkan transparansi olehhati-hati memilih fungsi blending.l Gunakan tekstur palletized. Treetops relatif seragam dalam warna dan dengan demikian dapat berhasildikodekan dalam 256 warna.l Gunakan sedikit dan lebih kecil irisan tergantung jarak pandang Anda. Jika Anda hanya akan melihat pohon-pohon darijauh, mungkin 4x4, irisan 64x64 akan lebih dari cukup. A 4x4, pohon 64x64 hanya membutuhkan256KB (menggunakan peta RGBA).l Jika Anda menggabungkan teknik ini dengan resolusi tinggi, hingga model yang dekat, ukuran tekstur juga bisaberkurang karena mereka tidak akan pernah terlihat dekat.l Buat pohon yang berbeda dengan peta tekstur yang sama. Cermin peta secara vertikal maupun horizontal, gunakansedikit perbedaan titik warna, dan skala atas atau bawah untuk memastikan bahwa setiap peta tekstur menciptakan sebagaipohon sebanyak mungkin.http://www.tar.hu/gamealgorithms/ch20lev1sec2.html (8 dari 8) 2/9/2009 18:13:19http://www.tar.hu/gamealgorithms/ch20lev1sec3.htmlRumputKita telah melihat bagaimana render pohon adalah masalah memberikan banyak detail ke objek tunggal dengan menggunakan sangat sedikitgeometri. Rumput rendering adalah cerita yang sama sekali berbeda. Masing-masing rumput relatif sederhana dan dapatberkisar dari satu baris untuk beberapa segitiga. Namun, kita harus membuat ribuan dari mereka untuk menyampaikan tampilandari padang rumput asli. Disini kompleksitas tidak terletak pada objek tertentu tetapi dalam angka yang kita akan mencoba untukmencapai. Tidak mengherankan, metode render rumput sangat berbeda dari algoritma pohon.Kami akan mengeksplorasi serangkaian algoritma yang cocok untuk rumput. Beberapa dari mereka akan memiliki keterbatasan tertentu (tidakmampu menghidupkan rumput adalah salah satu yang populer). Hanya dengan mengetahui semua algoritma secara rinci akan Andadapat memilih salah satu yang cocok untuk anda.Rumput LayeredSalah satu pendekatan untuk rumput rendering untuk menghitung rumput melalui Volume rendering. Ini adalah sangat murahalgoritma yang menghasilkan hasil yang cukup baik. Idenya sederhana: Ambil pisau individu rumput. Pisauakan vertikal atau hampir vertikal, sehingga menyederhanakan dengan garis vertikal lurus cukup akurat. Tapiberapa banyak pisau rumput yang ada di sebuah padang rumput terbuka? Jumlahnya bisa mencapai ratusan ribu, dankita jelas tidak akan melukis yang banyak baris. Biaya akan menjadi penghalang. Kita perlu alternatifcara untuk mengatasi masalah ini, sehingga kita dapat menjaga tingkat kompleksitas jelas sambil menjaga aktualtingkat kompleksitas yang cukup rendah.Di sinilah konsep Volume render tendangan masuk Daripada lukisan pisau individu, kita akan sampelvolume ditempati oleh padang rumput seluruh, dan membuat pisau sebagai piksel pada tekstur. Untuk melakukannya, kitaakan menggunakan elemen Volume (voxel), yang akan menyandikan letak pisau rumput sebagai fungsi volume. Sekarang,karena kita menyederhanakan rumput dengan garis vertikal lurus, kita kehilangan informasi Y, dan kita dapat memampatkanvoxel 3D kami hanya bitmap 2D, yang akan kita lapisan dalam Y untuk menyampaikan volume.Jadi, algoritma kami semudah lukisan bitmap yang sama di beberapa iris Y. Sekarang, bitmap adalahbagian kompleks. Untuk volume rendering, bitmap akan perlu untuk mengkodekan bagian XZ dari bilah rumput.Ini berarti bitmap RGBA, di mana daerah ditutupi rumput-rumput yang dicat dengan alpha = 1, dan daerah yangtidak seharusnya memiliki pisau rumput yang dicat dengan alpha = 0. Hal ini sangat penting untuk semua ruang rumputelemen merata, jadi kita tidak bisa merasakan pola ubin di rumput.Render ini cukup sederhana. Render bidang tanah pertama. Kemudian, membuat quad yang sama, pergeseran itu bersamaY untuk setiap iterasi. Antara 5 dan 20 paha depan akan dibutuhkan untuk menyampaikan rasa kontinuitas vertikal. Sebagairule of thumb, jumlah lapisan harus dapat dihubungkan ke lapangan kamera. Sebuah kamera yang sangat bernadamelihat pisau dari atas, dan dengan demikian tidak banyak iterasi yang diperlukan. Sebuah kamera yang hampir sejajar dengantanah, di sisi lain, akan membutuhkan jumlah yang jauh lebih tinggi dari iterasi untuk menghasilkan ilusipisau terus menerus. Lihatlah Gambar 20.6 untuk gambar jelas.Gambar 20.6. Lapisan peta tekstur yang digunakan untuk membuat rumput dan menyampaikanparalaks.http://www.tar.hu/gamealgorithms/ch20lev1sec3.html (1 dari 4) 2/9/2009 06:13:30http://www.tar.hu/gamealgorithms/ch20lev1sec3.htmlDengan demikian, metode ini membutuhkan waktu satu peta tekstur dan sebanyak paha depan yang diperlukan untuk menggambarkan pisau. Kita bahkan bisamenambahkan animasi dengan mengubah tekstur rumput koordinat sedikit. Bahkan, metode ini telah baru-baru inikode untuk berbagai game dan platform. Rumput tidak dapat melihat dekat, tapi ilusi cukupmeyakinkan, dan biaya adalah pasti plus.Selain itu, metode ini dapat diimplementasikan dalam quad tunggal dengan menggunakan pixel shader. Di sini kita akanmenghitung sudut dari pemain untuk setiap Texel dan sampel volume untuk menghasilkan peta tekstur. Inicara kita hanya akan menggunakan satu quad, yang akan bekerja rincian proyeksi internal. Perhatikan, bagaimanapun,bahwa pendekatan ini shader tidak selalu ide yang baik. Jika kita melukis beberapa paha depan menggunakan pendekatan pertama kami,kita dapat memiliki elemen setengah tenggelam di rumput realistis, seperti binatang di tengah-tengah tinggirumput atau berdiri sepak bola di tengah lapangan. Metode shader, dengan menggunakan hanya satu quad untuk menyingkatinformasi dari paha depan yang berbeda, menghilangkan kemungkinan ini.Algoritma Distribusi StatistikKami sekarang akan mengeksplorasi algoritma distribusi statistik, yang mencoba untuk menyampaikan kepadatan rumput penuhpadang rumput secara real time. Karena render semua rumput hanya mungkin, metode berfokus pada radiussekitar pemain dan alpha-memudar rumput dengan meningkatnya jarak sehingga tidak ada pop terjadi. Jika warna rumputmenyatu dengan baik dengan medan, mata tertipu, dan pemirsa mengasumsikan bahwa seluruh padang rumput yang efektifditutupi oleh rumput. Menggunakan trik sederhana ini memastikan bahwa kita melukis sejumlah konstan segitiga untukrumput, yang merupakan kunci untuk algoritma.Geometri dicat menggunakan primitif segiempat, dan setiap quad mewakili beberapa bilah rumput yangdikelompokkan bersama. Ini membantu mengurangi dampak segitiga, karena rumput pasti akan membutuhkan banyakgeometri. Dengan teknik ini, penting untuk menggunakan metode render yang baik (seperti Vertex Array Rentang[VAR] di OpenGL atau DrawPrimitive di DirectX). Sayangnya, rumput tidak terdiri dari strip primitif,dan pengindeksan tidak akan membantu secara signifikan, sehingga VAR paha tampak seperti pilihan yang baik.Pada titik ini, bagian statistik algoritma mulai bekerja untuk memastikan bahwa tidak diinginkan pola yang terlihatdipecah sebanyak mungkin. Penonton tidak harus melihat bagaimana pisau dikelompokkan bersama-sama, ataumelihat bahwa lanskap tidak penuh rumput. Untuk mencapai hal ini, pilihan terbaik adalah dengan menggunakan Poisson spasialdistribusi, yang mendistribusikan serangkaian sampel pada bidang tanah sehingga jarak antara setiap XZdua sampel yang dipilih secara acak tidak pernah lebih kecil dari ambang batas tertentu. Distribusi Poisson yang populer diliteratur komputer grafis. Mereka digunakan untuk wilayah sampel dalam ray tracing stokastik untuk efek yang sama.Menerapkan distribusi Poisson tidak sederhana. Jika kita membutuhkan hasil yang akurat 100 persen, metodeyang perlu digunakan disebut "lempar panah," yaitu, berturut-turut menambahkan elemen ke ruangdistribusi acak, dan jika unsur baru melanggar definisi distribusi Poisson (dan tentunya memilikilain primitif dekat daripada ambang batas yang diinginkan), menghilangkannya. Dengan mengulangi rutinitas ini sampai yang diinginkandensity tercapai, kita akan mendapatkan distribusi Poisson sempurna. Tapi untuk permukaan yang besar proses ini dapat mengambilhttp://www.tar.hu/gamealgorithms/ch20lev1sec3.html (2 dari 4) 2/9/2009 06:13:30http://www.tar.hu/gamealgorithms/ch20lev1sec3.htmllama untuk menyelesaikan, sehingga metode yang dekat Poisson digunakan: Bagilah permukaan dalam kotak persegi, tempat satu elemendi setiap node, dan menerapkan gerakan acak kecil untuk itu di kedua X dan Z arah. Gerakan kecildisebut jitter dan memastikan bahwa tidak ada pola yang terlihat terjadi. Jika jitter terbatas (misalnya, untuk setengah gridukuran), kita masih sesuai dengan distribusi Poisson di sebagian kecil dari biaya. Untuk pembuatan rumput, metode ini(Lihat Gambar 20.7) akan digunakan.Gambar 20.7. Distribusi statistik pisau rumput. Kiri atas: Grid. Kanan atas: Gridjittered untuk membuat distribusi Poisson. Kiri bawah: Quads ditambahkan. Kanan bawah:Hasil akhir di mana semua pola teratur telah dieliminasi.Setelah distribusi Poisson telah dievaluasi, jitter rotasi harus diperkenalkan. Menjaga semuasegmen blade selaras tentu tidak membantu menyampaikan rasa kekacauan dan kealamian. Dengan demikian, masing-masingsegiempat akan diputar di sekitar Y (vertikal) sumbu. Berikut rotasi acak polos akan melakukan pekerjaansempurna, yang memungkinkan padang rumput kacau muncul.Langkah akhir yang lebih membantu mengurangi artefak visual menambahkan faktor skala ke paha depan individu, sehinggabeberapa paha depan lebih tinggi dari yang lain. Penyimpangan 30 persen atau lebih bekerja dengan baik.Sebuah catatan pada rendering: Seperti Anda mungkin telah ditemukan, ini adalah metode yang mengisi tingkat intensif karena banyakpaha diwajibkan untuk menyampaikan kepadatan padang rumput nyata. Dengan demikian, algoritma render harus dipilihhttp://www.tar.hu/gamealgorithms/ch20lev1sec3.html (3 dari 4) 2/9/2009 06:13:30http://www.tar.hu/gamealgorithms/ch20lev1sec3.htmlhati-hati. Dalam OpenGL, menggunakan Daftar Tampilan bukanlah ide yang baik karena kita perlu menghidupkan pisaudan yang membutuhkan mengirimkan kembali daftar. Sebuah langkah yang lebih baik adalah dengan menggunakan server-side array titik, yang dapatdiperbarui jika diperlukan. Sebuah strategi yang sangat baik adalah untuk menghitung distribusi Poisson pada waktu buka danmembuat sebuah array dengan semua simpul quad, koordinat tekstur, dan sebagainya. Array akan mewakili persegipatch rumput, misalnya, 10x10 meter. Kemudian, Anda hanya menghidupkan dua simpul atas setiap quad melaluigeser dan mengirim patch ke hardware grafis menggunakan server-side array. Hal ini memungkinkan Anda untuk mengirimarray yang sama beberapa kali dengan PushMatrix-Translate-PopMatrix, sehingga mampu mengisi seluruh dataranrumput dengan mengulangi pola 10x10. Manfaatnya jelas: Anda hanya akan menghidupkan meter 10x10 rumput danmenggunakan sampel itu untuk menutupi banyak mil.http://www.tar.hu/gamealgorithms/ch20lev1sec3.html (4 dari 4) 2/9/2009 06:13:30http://www.tar.hu/gamealgorithms/ch20lev1sec4.htmlAwan-awanBanyak permainan menggunakan awan dan sistem cuaca yang dinamis untuk membawa suasana immersive gameplay. DiMetal Gear Solid 2, misalnya, bagian dari aksi terjadi di bawah curah hujan yang sangat deras, menciptakanperasaan menindas. Permainan lainnya, seperti simulator penerbangan, perlu awan untuk menawarkan pemain realisme adalahmengharapkan dari permainan. Apapun kasusnya, awan cukup penting dalam banyak genre. Mereka bisasimulasi berhasil menggunakan beberapa metode, dari yang sangat sederhana untuk awan dekoratif dengan cukupkompleks untuk game yang membutuhkan awan sebagai bagian dari gameplay mereka.Pada satu ekstrim, kita hanya dapat menggunakan skybox, sebuah objek besar bertekstur, yang, setelah diterapkan untuk tekstur langit, dapatmenjadi langit kita. Kita akan membahas metode ini dalam sekejap. Pada ujung spektrum, kita bisamenerapkan sistem awan volumetrik dengan properti seperti densitas dan suhu, sehingga pesawat dapatmelintasi badai dan pemain bisa merasakan turbulensi. Seperti biasa, pilihan akan tergantung padajumlah jam siklus Anda bersedia untuk mengabdikan untuk simulasi awan. Fitur tambahan jarang datang tanpabiaya.Skyboxes dan DomesCara termudah untuk mendapatkan langit mendung adalah dengan menggunakan skybox atau skydome. Ini adalah kotak cukup besar ataubelahan dengan normals mencari ke dalam, dan tekstur yang ubin di segitiga mewakili langit.Untuk skybox, lima paha digunakan. Mereka umumnya disebut atas, depan, belakang, kiri, dan kanan, dan masing-masingmemiliki tekstur yang unik, yang memadukan mulus dengan paha depan tetangga. Karena paha depan yang dicat dengantidak ada pencahayaan sama sekali, jahitannya antara mereka tidak mungkin untuk melihat, dan langit tampak seperti keseluruhan.Satu-satunya kesulitan dalam menciptakan skyboxes adalah mendapatkan gambar sumber sehingga mereka mengintegrasikan dengan sempurna. Yang terbaikcara untuk mendapatkan mereka adalah untuk menciptakan mereka dengan paket render yang memiliki langit pembangkit prosedural. Salah satupaket yang paling populer adalah Terragen, yang menciptakan lanskap penuh dengan daerah, air, dan langit.Menggunakan Terragen, metode pada dasarnya terdiri dari mendefinisikan langit tampan, dan kemudian menempatkan kamera dipusat skenario. Empat merender kemudian dilakukan pada sudut yaw dari 0, 90, 180, dan 270. Dan kemudianrender lain dihitung dengan kamera melihat ke atas. Sebuah render keenam dengan kamera melihat ke bawahdapat berguna untuk beberapa aplikasi, tetapi kebanyakan game menggunakan lima gambar.Setelah gambar dibuat dengan Terragen, itu semua masalah pengujian sampai mereka benar diletakkan pada limapaha depan. Kemudian, rasa berada di kotak harus menghilang, dan hanya langit terus menerus harus terlihat.Awan BillboardedTeknik lain yang dapat berguna menggunakan awan billboarded, sehingga setiap awan dapat bergerak dan bereaksiindependen. Awan hanya perlu disesuaikan dengan penonton dan bergerak sangat lambat. Awan Billboarded dapatdikombinasikan dengan skybox dengan mudah, tapi downside adalah bahwa kita tidak bisa menyeberang atau masukkan awan. Itu akanmembunuh ilusi volume karena kita akan menyadari awan hanyalah pesawat. Kita perlu lebih baiksistem untuk membuat representasi awan yang realistis.Awan volumetrikhttp://www.tar.hu/gamealgorithms/ch20lev1sec4.html (1 dari 2) 2/9/2009 18:13:37http://www.tar.hu/gamealgorithms/ch20lev1sec4.htmlBagi aplikasi yang membutuhkan tampilan ekstra-realistis, model awan volumetrik dapat diimplementasikan, sehinggapemain dapat memasukkan badai, dibenamkan ke kabut volumetrik, dan sebagainya. Berhati-hatilah, meskipun:Sistem awan volumetrik memerlukan sejumlah besar sumber daya, baik di CPU dan GPU, dan dengan demikian dapatmenurunkan kinerja keseluruhan judul Anda.Ada berbagai pendekatan awan volumetrik. Jadi, saya akan mengekspos sistem cloud generik yang dapatdisesuaikan atau diperpanjang untuk menyesuaikan banyak kegunaan.Komponen pertama yang kita butuhkan adalah sebuah struktur data untuk menahan awan. Hal ini dapat berkisar dari yang sangat sederhanadengan sangat kompleks. Di sisi yang sederhana, kita bisa melakukan daftar jalur 3D dan jari-jari, dan melaksanakanawan sebagai isosurface bahwa kami akan mengevaluasi per frame. Kekeruhan titik dalam ruang akandihitung dengan menggunakan varian dari fungsi lapangan. Pendekatan ini dapat bekerja dengan baik untuk sistem dengan sedikitelemen mana jumlah generator awan relatif kecil.Jika kita memerlukan representasi yang lebih akurat, kita bisa membagi dunia permainan kami menjadi struktur voxel, dengansetiap node voxel mewakili kepadatan awan pada saat itu. Meskipun sistem voxel kadang-kadangditolak karena jejak memori relatif besar, sistem awan dapat diberikan efisien menggunakan vokseldengan biaya yang wajar. Itu semua tergantung pada memilih ukuran sel yang tepat. Sebagai contoh, sebuah skenario km 5x5,sampel dari permukaan air sampai 500 m di ketinggian (cocok untuk setiap kota dan permainan yang paling luar) padaResolusi homogen 50 meter per sampel (setiap sampel menjadi satu byte) hanya membutuhkan 100KB. Jelas,sistem voxel harus dikontrol dengan hati-hati karena mereka cenderung tumbuh, tapi itu tidak lantas membuatmereka tidak layak.Bagi mereka situasi di mana sistem voxel terlalu mahal, fraktal sistem cloud kompresi dua tingkatdapat diimplementasikan. Berikut gagasan adalah untuk memiliki sistem voxel resolusi rendah dan "detail" voxel, yang kamitempat dalam setiap sel yang lebih besar voxel ini, sangat mirip dengan rekursi ditemukan dalam sistem fraktal. Karena kitaakan interpolasi voxel rinci nilai sesuai dengan empat sudut sel yang lebih besar, kemiripan-diri akantetap diperhatikan, dan sistem awan besar akan cocok di setiap kendala memori.Adapun bagian rendering algoritma, awan volumetrik paling baik ditangani sebagai bergerak sangat lambatsistem partikel. Elemen Cloud hanya billboard dengan nilai opacity yang sangat rendah, dan dengan layering mereka, kitamencapai rasa kepadatan kami bertujuan untuk. Kita bahkan dapat menggunakan tabel warna untuk memastikan bahwa awan terlihatrealistis atau bahkan ekstrak warna dari pendekatan semivolumetric, yaitu, cat setiap elemen dalam warnasebanding dengan penjumlahan kepadatan awan di atasnya. Dengan cara ini kita dapat mewakili gradasi warnaditemukan dalam berbagai jenis awan, dari yang sangat murni cirrus lapisan untuk badai abu-abu gelap.Mark Harris dari University of North Carolina di Chapel Hill menyarankan menggunakan penipu untuk mengurangikompleksitas mendalam dan fill rate yang dibutuhkan untuk membuat awan. Setelah semua, jangan lupa kita berbicara tentangsistem partikel, dan ini memakan banyak sumber daya sistem. Membuat awan realistis bisa memakan waktu antara1.000 dan 5.000 partikel, dan itu jelas bukan apa yang Anda inginkan untuk membuat pada basis per-frame: Biayahanya terlalu tinggi. Dengan demikian, kita dapat menyingkat awan ke IBRS, yang adalah apa penipu adalah semua tentang. Kamimembuat awan untuk tekstur dan menggunakannya sampai kita telah bergerak secara signifikan, dan dengan demikian kita perlu recomputepenipu. Dengan menggunakan penipu, kita secara dramatis mengurangi biaya komputasi awan sistem kami.Semua yang perlu kita lakukan adalah membangun kesalahan metrik yang mengatur saat ketika kita akan recompute awan.http://www.tar.hu/gamealgorithms/ch20lev1sec4.html (2 dari 2) 2/9/2009 18:13:37http://www.tar.hu/gamealgorithms/ch20lev1sec5.htmlOceansSeperti banyak efek organik, laut berkualitas rendah mudah dilakukan, namun hasil tampan benar-benar sulit untukmencapai. Pada akhirnya, itu semua tergantung pada jumlah siklus CPU dapat Anda curahkan untuk rendering itu. Akan Andapermainan menjadi pengalaman yang sama sekali di bawah air seperti Ecco Dolphin, atau akan laut Anda memainkan sekunder,peran murni dekoratif? Lautan benar-untuk-hidup akan komputasi mahal, sehingga praktik yang baik untukmenganalisis harapan Anda sebelum bergerak maju.Dalam bentuk yang paling sederhana, sebuah samudera hanyalah bertekstur, pesawat transparan sebagian. Tekstur akan mencoba untukmeniru tampilan dan warna air nyata, sehingga menghidupkan itu akan menyampaikan rasa tinggi realisme. Tapi keduageometri air ini dan melihat nya terlalu sederhana. Samudra bergerak dan memiliki interaksi yang kompleks dengancahaya, yang mempengaruhi penampilannya. Mari kita periksa geometri dan penampilan secara rinci.Realistis Samudera GeometriUntuk menciptakan samudra realistis, kita akan perlu untuk mengimplementasikan gelombang, semprot laut, dan sebagainya. Beberapa metodemeningkatkan kompleksitas telah dirancang selama bertahun-tahun. Salah satu pendekatan akan menggunakan sinus sederhanagelombang sebagai fungsi gelombang, sehingga menciptakan tampilan bergelombang seragam. Berhati-hatilah, meskipun: fungsi trigonometrisangat mahal, jadi lebih baik untuk memiliki mereka ditabulasi sebelumnya, sehingga menghindari perhitungan mahal bagisetiap frame.Karena lautan jarang teratur, gelombang sinus tunggal hanya akan tidak dipotong. Dengan demikian, dua pendekatan lainnyamemiliki muncul. Menggunakan satu pendekatan, kita dapat mensimulasikan geometri laut dengan cara menambahkan gelombang sinus dalamPola oktaf, dengan masing-masing harmonik yang memiliki frekuensi ganda dan setengah amplitudo. Jika kita jitter ini denganbeberapa bentuk kebisingan (noise Perlin, misalnya), hasilnya akan lebih baik cepat. Pendekatan keduamelibatkan menggunakan model matematika dari laut, sering diimplementasikan sebagai sistem partikel: Setiap permukaanUnsur adalah partikel dihubungkan dengan pegas untuk elemen tetangga. Kemudian, dengan menggunakan model fisik berevolusi,kita dapat mensimulasikan dinamika laut efisien. Anda dapat menemukan gambaran yang sangat baik dari kedua metode, dancontoh lengkap dari kerangka laut matematika, di Lasse Staf Jensen dan Robert Golias 'Gamasutraartikel, dikutip dalam Lampiran E, "Bacaan lebih lanjut."Samudera PenampilanAir murni adalah transparan, sehingga terlihat dunia nyata biasanya dipengaruhi oleh beberapa faktor: refleksi,tints warna, fenomena cahaya, dan sebagainya. Bahkan, tampilan air pada dasarnya ditentukan oleh perusahaaninteraksi dengan media yang ringan dan lainnya, tidak sebanyak dengan air itu sendiri. Dengan demikian, untuk menyampaikan rasa nyataair yang kita harus belajar bagaimana berinteraksi dengan lingkungannya.Dari sudut pandang optik, air adalah sangat reflektif, bahan transparan sebagian. Warna internal adalahsangat halus dan hanya muncul dalam tubuh besar air. Hal ini dapat bervariasi tergantung pada kimiamicrocomponents seperti ganggang dan bakteri, tetapi pada umumnya dalam kisaran hijau biru. Air memiliki indeksbias yang mendistorsi pengertian kita tentang ukuran, benda membuat terlihat lebih besar dari kehidupan nyata. Selain itu, keduarefleksi dan transparansi sangat tajam didefinisikan, seperti dalam kebanyakan cairan. Ini berarti benda dimasukkan ke dalam atautercermin dalam air akan tetap terlihat fokus, sebagai lawan kaca patri, yang transparan tapi membuat cahayasinar menekuk secara acak, menghasilkan tampilan yang kabur. Hanya ketika perairan temperatur yang berbeda dicampur janganrefleksi buram dan refraksi muncul.Dengan demikian, langkah pertama menuju air realistis menggunakan pemetaan lingkungan untuk mereproduksi sifat reflektifhttp://www.tar.hu/gamealgorithms/ch20lev1sec5.html (1 dari 5) 2/9/2009 18:13:46http://www.tar.hu/gamealgorithms/ch20lev1sec5.htmlpermukaannya. Pemetaan lingkungan adalah teknik yang sangat dipahami dengan baik, dan rincian teknis yangterpapar dalam Bab 18, "Pemetaan Tekstur." Kita dapat menggunakan kedua bola dan pemetaan kubus, korban keduahasil yang lebih baik dengan harga biaya tekstur yang lebih tinggi. Pilihannya, seperti biasa, tergantung pada efek yang ingin Andamencapai. Untuk sebuah game open-laut, sangat mungkin peta bola langit akan baik-baik saja. Tetapi jika Anda inginrefleksi yang benar (di sebuah danau yang dikelilingi oleh pohon, misalnya), peta kubus akan menjadi pilihan yang lebih baik. Hanyaingat bahwa jika Anda berencana untuk komputasi refleksi realistis, Anda akan perlu untuk recompute peta kubus perframe (atau setiap beberapa frame), dan dengan demikian kompleksitas komputasi akan tumbuh. Pastikan tercermingeometri sederhana, sehingga lulus render-ke-tekstur dapat dilakukan dengan biaya yang murah. Alternatif lain adalahmenggunakan strategi LOD, sehingga model tercermin adalah versi skala-down dari geometri. Hal ini dapatsangat efektif, terutama jika indeks refleksi tidak terlalu tinggi, sehingga penonton tidak akan melihat perbedaansama sekali.Transparansi Indeks perairan laut terbuka sangat bervariasi tergantung pada bahan kimia dari air danintensitas matahari. Secara umum, visibilities sekitar 15-20 meter dianggap normal, yang memberikanIndeks transparansi antara 73 dan 80 persen per meter (80% cahaya memasuki volume airsatu meter lebar efektif membuat ke sisi lain, sisanya diserap).Tapi penyerapan cahaya adalah salah satu konsekuensi dari transparansi air. Yang lainnya adalah refraksi:pembengkokan sinar karena perbedaan kepadatan media yang berbeda. Kecepatan cahaya di udara terbukasignifikan lebih cepat daripada dalam media padat seperti air, dan dengan demikian sinar cahaya membungkuk saat mereka memasuki cairan.Ini bisa berhasil disimulasikan dengan menggunakan teknik shader (dijelaskan dalam bab berikutnya). Perhatikan,bagaimanapun, bahwa permainan yang paling benar-benar mengabaikan refraksi karena sulit terlihat dalam skenario gameplay. Ituhanya contoh akan permainan di mana pemain bisa menyeberangi sungai, atau situasi lain di mana merekasebagian terendam dalam air. Sebuah permainan sepenuhnya di bawah air, misalnya, tidak perlu untuk mensimulasikan refraksikarena semua tindakan yang terjadi dalam medium yang sama (air), dan dengan demikian tidak ada sinar yang bengkok.Salah satu dari beberapa pengecualian untuk aturan ini adalah fenomena yang disebut caustic: konsentrasi cahaya karenarefraksi, yang menyebabkan pola menari cahaya di dasar laut. Hal ini juga sering terlihat dalamapapun dari danau untuk permainan bawah air.CausticCaustic diproduksi setiap kali cahaya perjalanan melalui jalan yang berbeda akhirnya berkumpul di samaspot. Caustic muncul karena beberapa objek semitransparan bertindak sebagai sebuah lensa, fokus sinar cahaya dalamdaerah kecil. Contoh klasik kaustik adalah tempat cahaya yang disebabkan oleh lensa pada selembar kertas ataupola tampaknya kacau dibentuk oleh gelombang di dasar kolam renang.Sayangnya, caustic realistis komputasi mahal. Mereka biasanya dihitung dengan menggunakan majuray tracing dengan foton peta, yang mengambil menit atau bahkan jam untuk menghitung untuk satu frame. Dengan demikian,beberapa penyederhanaan harus dilaksanakan dalam rangka untuk mendekati mereka secara real time. Kita akan melihat beberapaalgoritma yang efisien meniru tampilan caustic nyata interaktif. Tapi tak satu pun dari mereka akan benar-benarmenerapkan caustic analitis karena proses akan terlalu mahal. Mari kita mulai dengan belajar mengapa.Dalam simulasi kaustik realistis, sejumlah sinar cahaya ditembak dari sumber cahaya ke segala arah.Sinar-sinar atau foton mewakili jumlah cahaya yang dipancarkan oleh masing-masing lampu. Mereka sinar langsung memukulbenda buram hanya dihilangkan (sedangkan kontribusi pencahayaan mereka diterapkan ke objek buram itupermukaan). Sebagian besar sinar sehingga akan hilang. Tetapi mereka sinar memukul benda-benda semitransparan sepertiseperti kaca atau air akan disebarkan dan dimasukkan ke dalam media baru, arah mereka akan berubah karenaperbedaan dalam kecepatan cahaya antara "luar" menengah (udara, umumnya) dan "dalam" media(Kaca, air, dan sebagainya). Ini perubahan arah atau membungkuk diatur oleh Hukum Snell, yang menyatakan bahwa:Dosa (masuk) / Sin (ditransmisikan) = IORhttp://www.tar.hu/gamealgorithms/ch20lev1sec5.html (2 dari 5) 2/9/2009 18:13:46http://www.tar.hu/gamealgorithms/ch20lev1sec5.htmlHukum Snell digambarkan pada Gambar 20.8. Ini adalah sinar yang kadang-kadang akan berkumpul untuk membuat kaustik.Dengan demikian, kita harus mengikuti mereka dan menetapkan mereka untuk poin permukaan, sehingga kita bisa menjumlahkan kontribusisinar yang berbeda dan memutuskan mana piksel dipengaruhi oleh kaustik. Kabar buruknya adalah bahwa ini adalah brute forcealgoritma. Kita perlu jutaan foton untuk mencapai tingkat yang baik realisme, dan bahwa membuang teknik untukreal-time digunakan.Gambar 20.8. Hukum Snell mengatur lentur dari sinar saat mereka menyeberangi Mediabatas.Yang berbeda, pendekatan yang lebih sukses melibatkan mundur ray tracing menggunakan estimasi Monte Carlo. Di sini,kita mulai dari dasar laut, dan sinar jejak mundur dalam urutan kronologis terbalik, berusahamenghitung jumlah semua pencahayaan masuk untuk titik tertentu. Idealnya, ini akan tercapai dengan menyelesaikanterpisahkan semispherical dari semua cahaya datang dari atas titik yang sedang menyala. Tapi untuk alasan praktis, hasilnyaintegral ini diselesaikan melalui Monte Carlo sampling. Dengan demikian, seberkas sinar kandidat dikirim ke segala arahbelahan otak berpusat pada titik sampling. Dalam kebanyakan kasus, 16 sinar per pixel cukup untuk mencapaihasil photorealistic. Mereka yang melanda benda lain (seperti ikan paus, kapal, atau batu) dibuang. Kemudian,sinar yang melanda permukaan laut pasti datang dari luar, membuat mereka calon yang baik. Dengan demikian, merekaharus dibiaskan, menggunakan kebalikan dari Hukum Snell. Sinar-sinar yang tersisa harus disebarkan di udara untukmenguji apakah sinar yang benar-benar berasal dari sumber cahaya atau hanya sebuah hipotesis palsu. Sekali lagi, hanyasinar-sinar yang benar-benar berakhir memukul sumber cahaya yang memberikan kontribusi pada kaustik, dan sisanya dari sinarhanya dibuang sebagai hipotesis palsu.http://www.tar.hu/gamealgorithms/ch20lev1sec5.html (3 dari 5) 2/9/2009 18:13:46http://www.tar.hu/gamealgorithms/ch20lev1sec5.htmlMetode Monte Carlo yang agak lebih cepat dari biasa maju ray tracing: Mereka mempersempit jumlahsinar hanya beberapa juta. Namun jumlah sampel masih membuat mereka terlalu lambat untuk penggunaan real-time. Kita bisa,Namun, menyederhanakan mundur Monte Carlo ray tracing ide untuk mencapai hasil yang diinginkan. Kami membuat beberapaasumsi agresif pada kandidat yang baik untuk caustic, dan dengan demikian menghitung hanya subset dari tibasinar. Secara khusus, kita menghitung satu sinar per pixel. Dengan demikian, metode ini memiliki biaya komputasi yang sangat rendah, danmenghasilkan sesuatu yang sangat mirip tampilan dan perilaku kaustik, meskipun itu benar-benartidak benar dari sudut pandang fisik.Untuk mulai dengan, kita menghitung caustic pada siang hari di khatulistiwa. Ini berarti matahari tepat di atas kita. Untukdemi algoritma kita, kita perlu menghitung sudut langit ditutupi oleh disk berjemur. Matahariantara 147 dan 152 juta kilometer dari Bumi tergantung pada waktu tahun, dan yangdiameter 1,42 juta kilometer. Setengah halaman aljabar dan trigonometri menghasilkan sudut untuk disk mataharidari 0,53 °.Asumsi kedua adalah bahwa dasar laut terletak pada kedalaman konstan. Jangan lupa bahwatransparansi air antara 77 dan 80 persen per meter linear. Ini berarti 20-27 persencahaya insiden per meter diserap oleh media (pemanasan itu), memberikan visibilitas keseluruhan berkisar antara15 dan 20 meter. Logikanya, ini berarti caustic akan terbentuk dengan mudah bila sinar cahaya perjalanan terpendekjarak dari saat mereka masuk ke air sampai saat mereka memukul dasar laut. Dengan demikian, akan causticmenjadi maksimal untuk sinar vertikal dan tidak akan menjadi seperti terlihat untuk sinar memasuki air ke samping. Ini merupakanasumsi agresif tetapi merupakan kunci keberhasilan algoritma. Perhatikan, sebagai bukti sederhana, bahwa causticsangat populer di daerah tropis, pantai berpasir. Ini biasanya dekat dengan khatulistiwa dan memangsangat dangkal. Jadi sepertinya kita sedang menuju ke arah yang benar.Algoritma kami bekerja sebagai berikut: Kita mulai di dasar laut, tepat setelah kami telah dicat tanahpesawat. Kemudian, kedua, aditif dicampur lulus digunakan untuk membuat kaustik di atas itu. Untuk melakukannya, kitamembuat mesh dengan rincian yang sama seperti mesh gelombang dan satu yang akan diwarnai per-titik denganNilai kaustik: nol berarti tidak ada pencahayaan dan satu berarti seberkas cahaya yang sangat terfokus hits dasar laut. Untukmembangun pencahayaan ini, mundur ray tracing digunakan. Untuk setiap titik sudut mesh, kita memproyeksikannya secara vertikalsampai kita mencapai titik gelombang terletak tepat di atasnya. Kemudian, kita menghitung normal gelombang pada saat ituTitik menggunakan perbedaan terbatas. Dengan vektor dan normal, dan menggunakan Hukum Snell (ingat IOR untukair 1,33333), kita dapat membuat sinar sekunder yang perjalanan dari gelombang ke udara. Sekarang, semua kita haruslakukan adalah memeriksa sinar matahari benar-benar memukul setelah meninggalkan air. Untuk melakukannya, kita menghitung sudutantara ray dan sinar vertikal menggunakan dot product. Kita tahu matahari adalah 0,53 ° di seluruh, tetapi halo yang dapatdianggap sebagai sumber cahaya sekunder, hampir setiap hari meliputi busur 10 kali lebih besar. Kemudian, kita menggunakansudut indeks peta tekstur, yang mengkode luminositas dari kaustik tergantung pada sudut (lihatGambar 20.9).Gambar 20.9. Sebuah peta tekstur digunakan untuk mengikat sudut ray untuk luminositas.http://www.tar.hu/gamealgorithms/ch20lev1sec5.html (4 dari 5) 2/9/2009 18:13:46http://www.tar.hu/gamealgorithms/ch20lev1sec5.htmlSebagai rekap, teknik saya telah terkena pada dasarnya mengubah masalah perhitungan kaustik kepemetaan lingkungan, menggunakan fungsi generator gelombang untuk menghitung koordinat tekstur. Untungnya,hasil (lihat Gambar 20.10) yang sangat baik.Gambar 20.10. Kiri: visi bingkai Wire, menunjukkan sampel pada bagian bawahlaut. Kanan: pandangan padat, menunjukkan pola interferensi yang khas ditemukan dicaustic.Teknik ini juga dapat diimplementasikan menggunakan pemrograman grafis klasik. Tapi itu dirancang dari harisatu harus dikodekan menggunakan pixel shader untuk meningkatkan efisiensi. Untuk melakukannya, kita akan menghitung fungsi gelombangdan ray tracing mundur langkah dalam shader, yang juga menghitung turunan dari fungsi gelombang.Rincian lebih lanjut dan demo implementasi ini dapat ditemukan di koran Gamasutra oleh Juan Guardado dariNVIDIA dan aku, dan tersedia di situs web Gamasutra. "http://www.tar.hu/gamealgorithms/ch20lev1sec5.html (5 dari 5) 2/9/2009 18:13:46http://www.tar.hu/gamealgorithms/ch20lev1sec6.htmlDalam PenutupSetelah membaca bab ini, Anda mungkin berakhir dengan kesan palsu bahwa Anda telah menguasai alamrender sepenuhnya. Jika hal ini terjadi, saya sarankan Anda menutup buku, berjalan-jalan, dan kemudian kembali kemembaca Anda ketika Anda selesai. Pergilah ke padang rumput, sungai, atau taman dan melihat-lihat. Anda akansegera menemukan bagaimana kompleksitas alam masih jauh dari yang dijinakkan oleh programmer grafis, dan beberapa keraguanitu pernah akan dikuasai. Mengingat kompleksitas fraktal, alam akan selalu membutuhkan lebih banyak sumber daya dan lebihterlibat algoritma, efektif tersisa salah satu tantangan utama bagi programmer untuk tahun yang akan datang.Bab ini, bersama dengan referensi yang diberikan dalam Lampiran E, baru saja menggores permukaan dari apa yangtentu akan menjadi subjek yang luas dalam pemrograman grafis. Semakin akrab Anda menjadi denganmata pelajaran ini, lebih kompetitif Anda akan.