Archive for the ‘Cerpen’ Category

“Artikel ini merupakan terjemahan (dengan sedikit gubahan dan penambahan) dari artikel yang dimuat oleh situs anandtech pada akhir tahun 2008 lalu. Pada saat itu, tentu kita tahu bahwa AMD berhasil merebut singgasana Raja Graphic Card dari tangan NVIDIA.  Hal ini tentu saja membawa perubahan besar bagi dunia Hardware Game PC, harga Graphic card high end yang pada mulanya berada pada kisaran US$ 500-600 merosot tajam menjadi  hanya sekitar US$300 ketika AMD Radeon HD 4xxx diluncurkan. Setengah harga dengan performa  sedikit lebih baik, siapa yang tidak tergoda??

“Apa yang terjadi sebenarnya sehingga AMD berani meluncurkan produk yang memiliki performa luar biasa tentu menarik untuk disimak. Terdapat beragam kisah dibaliknya, baik sedih maupun senang, suka ataupun duka. Artikel ini akan mengupas segalanya. Siapkan teh, makanan kecil serta makanan besar ^_^, dan jangan sampai anda bosan sebelum tuntas membacanya.”

Inilah email yang memulai segalanya

Hi Anand,
Anda ada janji bertemu dengan Carrel Killbrew besok pukul 3 siang di ATI Santa Clara- Carrel akan menjelaskan pada anda mnengenai latar belakang apa yang terjadi dibalik RV770. Carrel akan menemui anda di lobi lantai 5
Chris

Email tersebut didkirimkan oleh Chris Hook, PR AMD. Saya bekerja dengannya sejak AMD belum mengakuisisi ATI. Saya selalu memujinya karena hebat dalam menggelar even, namun sangat buruk untuk mempertemukan saya secara langsung dengan teknisi- teknisi hebat AMD.
Belakangan ini Chris sedang berusaha untuk membuktikan bahwa saya salah . Chris mengerti bahwa saya tidak perduli dengan pesta- pesta maupun hal- hal lain yang dipaparkan oleh AMD selama konferensi pers. Saya hanya peduli akan produk dan hal- hal teknis dibaliknya. Awal tahun ini Chris memperbolehkan salah satu teknisinya untuk keluar dan berbincang dengan saya mengenai teknologi packaging dan manufaktur AMD. Chris hanya mendapatkan sedikit kepercayaan karena hal tersebut, namun akhirnya dia mengirimkan email di atas yang membuat saya nyaris tidak percaya.

Saya bertolak ke ATI Santa Clara untuk memenuhi undangan pukul 3 siang tersebut. Begitu keluar dari elevator ada seseorang memanggil nama saya dari belakang. Tidak ada seorangpun yang saya kenal, namun bukanlah hal yang luar biasa mengingat usia saya yang mulai menua, terutama setelah 12 tahun berada di bisnis ini. Untungnya hal tersebut bukan karena saya lupa, orang yang mengenali saya dari foto ternyata adalah Carell Kilbrew. Foto yang mana? Tidak tahu juga, mungkin AMD menyimpan foto- foto Derek, Gary dan foto saya di dinding hanya agar tahu harus marah pada siapa.

Kami berjalan sejauh 30 kaki menuju ruangan dengan sebuah meja dan beberapa kursi , dimana terdapat speakerphone di tengah meja. Di ruangan tersebut terdapat saya, Carell Kilbrew,Eric Demers, Mike Schmit dan Mark Leather.    Saya belum pernah bertemu sebagian besar dari mereka, meskipun namanya sering saya dengar. AMD dan ATI (sebelum diakuisisi), seringkali melakukan pekerjaan yang sangat buruk dalam memberikan kami akses terhadap orang- orang jenius di balik layar GPU mereka. Hal terbaik yang pernah kami peroleh adalah bertemu dengan orang- orang di bidang teknis pemasaran, atau terkadang kepala teknisi atau sejawatnya (baca : orang jenius bersertifikasi). Bagaimanapun pada hari itu,disaat saya libur, bersama- sama saya dalam satu ruangan teman dari teman dan orang pintar diantara orang- orang pintar AMD tanpa seorangpun dari Public Relation AMD yang “memberangus ” para teknisi.
Anda harus mengerti bahwa kebanyakan dari orang- orang yang kami ajak bicara mengenai GPU ada disana untuk “berjualan” pada kami dengan nada yang juga sangat “menjual”. Uraian singkat biasanya dimulai dengan beberapa slide di dinding, berbicara mengenai betapa pentingnya gaming, kemudian beberapa pembicaraan mengenai arsitektur, sedikit mengenai graphic cardnya, beberapa data tentang performa yang tidak pernah kami perhatikan dan slide tentang kesimpulan akhirnya. Bagi sebuah perusahaan yang mampu membangun produk yang membuat banyak orang terkejut dalam waktu yang relatif cepat,cara mereka berbicara tenstang produk mereka sangat lemah.
Carell sendiri sangat berbeda. Sebagai kepala teknisi RV770, GPU dibalik Radeon seri 4800, Carell adalah orang yang memang tepat untuk menjadi kepala teknisi dari sebuah produk untuk bermain video game. Carell memmulai pembicaraan dengan berkata bahwa semua yang dikatakannya adalah “on the record”, dengan asusmsi tidak ada seorangpun yang akan berkeberatan dengan hal tersebut. “kelihatannya cukup bagus”, pikirku.

Dia bertanya tentang apa yang ingin kami bicarakan sembari menwarkan beberapa pilihan, apakah tentang Trend GPU dan arsitekturnya, konversi video dengan bantuan GPU, atau cerita dibalik RV770.Pilihan terakhir yang diajukan Carell tidak pernah saya duga serta sangat menarik perhatian. Saat RV770 diluncurkan musim panas 2008 adalah saat luar biasa yang sangat kita syukuri bersama, RV770 mengacaukan pematokan harga yang dilakukan NVIDIA dengan memberikan kelas value antara $200 – $300. Saat menengok arsitektur dan melihat performa Radeon seri 4800, hanya dibutuhkan sedikit halaman untuk berbicara mengenai strategy penyusutan die yang dilakukan AMD yang pada akhirnya menghasilkan GPU RV770.

Selama 8 tahun terakhir AMD menghabiskan waktu membangun GPU yang ukurannya membesar. Namun dengan RV770, AMD membalik trend tersebut dan sayapun masih belum bisa memahaminya secara keseluruhan meskipun biasanya hal tersebut seringkali saya sebutkan. Misalkan tentang bagaimana perbedaan pendekatan yang diambil NVIDIA dan AMD.
Pabrikan seperti AMD biasanya berkata pada saya mengenai sesuatu ketiak saya sudah bertanya. Seperti ketika Nehalem memperkenalkan arsitektur cachenya, saya bertanya kenapa dan kemudian memnuliskannya untuk pembaca situs anandtech, hal yang sama terjadi pada arsitektur 4800. Saya dan Derek Wilson menghabiskan beberapa waktu untuk berulangkali menelpon dan mengirimkan email ketika membahas arsitektur RV770 agar review kami berimbang. Namun kami berdua lupa mengenai bagian terpenting RV770,yakni keputusan yang mendasari pembuatan GPU itu sendiri.

Saya sedikit kesulitan untuk menuliskan artikel ini, karena tidak ada grafik, chart dan arsitektur untuk dianalisa. Saya hanya harus duduk di kursi dan mendengarkan orang-orang ini, yaitu para teknisi AMD, berbagi dengan kami dalam waktu hanya 2 jam tentang 3 tahun terakhir dalam kehidupan mereka. Saya berharap bisa melakukannya dengan benar karena apa yang mereka katakan pada saya dalam ruangan tersebut adalah pertemuan terbaik bersama AMD atau ATI.

 

Pembukaan

Semua dimulai tahun 2001 yang lalu saat ATI, yang masih independen, sedang mengerjakan GPU R300 (Radeon 9700 pro). Jika anda senantiasa mengikuti perkembangan industri GPU, anda tidak akan pernah lupa dengan R300. Nvidia secara bertahap meraih kesuksesan dan tidak ada yang bisa dilakukan ATI untuk melengserkan sang raja. Radeon yang pertama adalah usaha yang bagus, namun buruknya dukungan driver dan tidak adanya keuntungan performa yang nyata ,membuat costumer senantiasa loyal terhadap NVIDIA . Radeon 8500 adalah kegagalan.; saat itu tidak ada yang mampu mengalahkan nvidia Geforce4 ti4200 yang juga berhasil di pasar mainstream, sedangkan Ti4600 adalah raja kelas High End.
Saat ATI menrima pukulan bertubi- tubi akibat kegagalan Radeon 8500, internal perusaahaan memutuskan bahwa untuk memenangkan pasar ATI harus meraih mahkota kelas tertinggi. Jika ATI mampu membuat GPU tercepat, mereknya akan dikenali dan meraih loyalitas yang diperlukan untuk menjual tidak hanya GPU High end namun juga model low end dengan harga yang lebih murah. GPU tersebut akan keluar untuk kelas High end terlebih dahulu, baru 6 – 12 bulan kemudian akan keluar turunannya untuk segmen pasar yang lebih rendah. Satu hal yang harus diingat pada saat itu patokan harga pasar untuk produk VGA High end adalah $399.
Untuk mengalahkan NVIDIA, penerus Raddeon 8500 harus menjadi GPU berukuran sangat besar. Radeon 8500 dibangun di atas proses manufaktur 0.15 micron dan memiliki 60 juta transistor;penerusnya,  R300, akan dibangun di atas proses yang sama, tetapi dengan 110 juta transistor –hampir dua kali lipat dari transistor 8500- tanpa penyusutan die.
Geforce4 sebagai hanya memiliki chip dengan 63 juta transistor dan bahkan NVIDIA belum berani membangun sesuatu yang demikian besar di atas node 150nm, penerus GF4 sendiri masih menunggu proses 0.13 micron.
Kita semua mengetahui bagaimana cerita selanjutnya, R300 dikemas dengan merek ATI Radeon 9700 pro dan mengalahkan Geforce4. Apa yang dilakukan intel terhadap AMD dengan Conroe,adalah sama dengan yang dilakukan ATI terhadap NVIDIA di tahun 2002.

To be Continued …..

Source : Anandtech

Akhir- akhir ini teknologi Rendering Ray Tracing semakin sering terdengar dalam berbagai pemberitaan media massa. Teknologi yang diproyeksikan sebagai pengganti teknologi rendering polygon dengan triangle -disebut juga rasterization seperti pada game konvensional saat ini -juga mendapatkan Dukungan penuh dari NVIDIA dengan platform CUDA dan Intel dengan Larrabeenya. Teknologi Ray tracing sendiri sebenarnya bukan sepenuhnya hal baru bagi kita yang senantiasa mengikuti perkembagnan teknologi komputer dan 3d rendering, bahkan movie sekelas Lord Of The ring sendiri telah menerapkan Ray Tracing untuk merender berbagai spesial efek dalam filmnya agar tampak lebih real.

Karena itulah sebenarnya tidak diperlukan hardware tersendiri untuk melakukan tenik Ray tracing, prosesor- prosesor lawas sendiri sudah mampu melakukan teknik rendering Ray tracing meskipun harus diparalelkan hingga puluhan prosesor untuk merender sebuah scene seperti yang ada dalam Film Lord Of The ring. Karena itu beberapa waktu yang lalu karena terbatasnya power sebuah prosesor Perkembangan teknologi Ray Tracing sedikit terhambat, namun akhir akhir ini dengan semakin berkembang nya teknologi prosesor selain x86, seperti stream prosesor pada GPU terkini dan x86 khusus seperti pada Intel Larabee maka teknologi ini kembali terangkat ke permukaan .

Meski demikian Ray Tracing masih mengalami sedikit masalah untuk diterapkan pada aplikasi real time seperti game , hal ini ditunjukkan dengan masih kecilnya frame rate game Enemy Territory yang dirender dengan Ray Tracing pada demo Larrabee milik Intel. Hal ini didukung juga oleh kebanyakan developer game termasuk john Carmack (kreator game Doom dari id software) , seperti yang disamopaikannya pada situs PC Perspective yang dimuat situs Toms Hardware. Berikut kutipannya:
“ Saya Pikir ray tracing dalam pemikiran klasik hanyalah sebuah proses menyisipkan rays (sinar) pada bangun geometry konvensional semacam triangle atau bentuk bangun primitif lainnya, saya tidak terlalu yakin bahwa hal ini akan mengambil alih tugas render utama secara keseluruhan seperti yang selama ini diusahakan oleh intel. Secara performa terdapat banyak sekali keuntungan yang bisa didapatkan dalam proses rasterization konvensional, selain itu apabila dilakukan dengan benar rasterization akan jauh lebih efisien dalam menghindari banyaknya referensi geometri yang diperlukan dengan teknik occlusion queries dan conditional renders . Rasterization akan jauh lebih efisien berapapun jumlah transistor (pada prosesor) yang ada apabila dihadapkan secara langsung dengan ray tracing”.

Jika John Carmack sendiri tidak terlalu tertarik dengan Ray Tracing, bukan berarti beliau adlah seseorang yang kolot dan membiarkan grafik raster tidak memiliki pesaing. John ternyata memiliki pemikiran sendiri tentang masa depan rendering real time yang melibatkan voxel ray casting semenjak beberapa tahun yang lalu. Berikut ini beberapa detail mengenai voxel ray casting yang diungkapkan oleh Jon Olick (dari id software juga) melalui presentasinya pada ajang SIGGRAPH seperti yang dimuat juga oleh situs Toms Hardware.

(untuk mengenal teknologi Ray Tracing lebih jauh dan detail silakan baca artikel pada majalah Game Buzz ed. 4 yang bisa didownload gratis di gamexeon)

 

Sejarah Voxel Ray Casting
John Carmack telah memulai eksperimen tentang voxel semenjak 10 tahun yang lalu dengan kode nama Trinity. Kebanyakan orang mengira eksperimen ini adalah engine 3D baru dari id untuk Quake 3, akan tetapi seperti yang kita ketahui Quake 3 tetap menggunkana engine konvensional seperti yang diungkapkan Carmack sendiri dalam catataanya pada tahun 1998. M eski eksperimen ini bisa dikatakan terhenti namun dalam catatan tersebut tercantum pula beberaapa eksperimen awal yang melibatkan voxel octrees. Beliau hampir berhasil pula menampilkan voxel secara software meskipun dalam resolusi yang sangat kecil meskipun dalam kasus ini tidak sebanding dengan keuntungan menampilakan poligon secara hardware.

Sesaat setelah rilis Quake 3 Beliau kemudian melakukan pula analisis mengenai pola akses memori dan samapai pada kesimpulam voxel ray tracer bisa dilakukan pada hardware dengan kebutuhan yang jauh lebih kecil dibandingkan kebutuhan hardware untuk menampilkan poligon (dengan rasterization) secara hardware pada saat itu dengan penampilan visual yang jauh lebih menarik pada banyak kasus.

Voxel sendiri memulai debutnya pada game outcast yang muncul pada Juli 1999 dan berhasil membuat kagum banyak orang pada masa itu. Hal ini bukan hanya karena kualitasnya yang luar biasa namun juga dikarenakan ketidak laziman engine 3d nya di saat kartu grafis 3d menjadi barang wajib bagi PC para gamer.]

OUTCAST
OUTCAST

Outcast didasarkan pada engine rendering secara software sepenuhnya sehingga menjadikannya sangat rakus daya komputasi prosesor. Untuk memainkannya pada resolusi maksimal (512 x 384) diperlukan sebuah prosesor kelas atas dan bukannya sebuah kartu grafik 3d . Bukan hanya hal ini saja yang membuat engine ini unik namun penggunaan voxel sendiri juga menjadikan proses rendering outcast menjadi berbeda

Akan tetapi meski demikian kita harus tetap berpandangan bahwa meskipun Outcast (dengan novalogic sebagai developer) telah menjadi penentu standar rendering berdasarkan voxel, yang terjadi sebenarnya game ini hanyalah menggunakan bentuk sederhana untuk keseluruhan model termasuk landscapenya. Seluruh model dan karakter hanya berupa model polygon standar . Lansekapnya berdasarkan pada sebuah map dengan kedalaman tunggal yang artinya hanya ada satu kedalaman yang mungkin untuk masing- masing titik pada lingkungan dengan mengabaikan keberadaan sudut pada struktur tertentu.

Batasan tersebut tidak menjadi masalah besar dikarenakan struktur bersudut sangatlah jarang akibat adanya keterbatasan secara fisika (game pada jaman ini masih mengabaikan physic simulation). Tampilan lansekapnya sendiri sangat sederhana dan dihasilkankan per-kolom. Untuk tiap kolom, sebuah nilai sumbu Y maksimum disimpan (dalam Y-buffer) . Pixel pada tiap kolom yang tampak digambar mulai dari bawah layar apabila nilai Y lebih besar dari Ymaksimum (yang disimpan dalam Y buffer)Metode rendering ini menyebabkan proses pemindahan bagian tak tampak dari layar menjadi mudah dan efisien.

Tentang Voxel, octrees dan ray casting
Voxel adalah singkatan dari volume dan pixel, jadi sebuah voxel adalah elemen dasar yang memiliki ruang (pixel hanya titik) . Bayang kan sebuah kotak lego yang bila digabungkan akan membentuk berbagai bangun baru. Voxel memiliki prinsip serupa dengan kotak mainan Lego yaitu berupa sebuah kotak utuh dan padat sementara pada polygon triangle melambangkan kulit bangun di luarnya saja.

Voxel sendiri pada umumnya dipakai pada bidang medis, bentuk aslinya sangat sesuai untuk penggambaran bentuk ruang dari gambar bagian perbagian seperti yang dihasilkan MRI. Meskipun begitu menggambarkan ruang dengan voxel bukanlah pendekatan yang paling sempurna karena dunia disekitar kita tidak terbuat dari sekumpulan kotak- kotak kecil. Contohnya ditunjukkan pada gambaran donat menggunakan voxel di bawah ini:

Meskipun begitu kekurangan ini bisa dimaklumi apabila digunakan pada game, karena triangle pada sebuah bangun polygon pada saat ini pun juga hanya merupakan pendekatan dari bangun ruang sebenarnya yang bisa diperhalus dengan memperbanyak lebih banyak triangle. Pada voxel, penghalusan ini bisa juga dilakukan dengan penggunaan voxel yang berukuran lebih kecil, yang berakibat pada kebutuhan memori yang lebih besar.
Apabila dihitung, sebuah kotak yang terdiri dari 1024 voxel tiap bidang (bidang X,Y,Z) membutuhkan memori 1024 x 1024 x 1024 * 4 byte dalam nilai red,green,blue,dan alpha (RGBA) yang setara dengan memory sebesar 4 GB. Jawaban dari masalah besarnya kebutuhan memori ini adalah penggunaan Octrees atau octal trees.

Tree (pohon atau percabangan) sendiri adalah struktur data yang sering digunakan pada ilmu komputer yang dimungkinkan untuk ditata secara hirarkis(berdasarkan urutaN TERTENTU). Kita menggunakannya setiap hari tanpa kita sadari pada saat bekerja dengan file komputer kita (misal di win exploreer).

Pada struktur percabangan sistem file terdapat hard disk (sebagai akar/batang ) yang terdiri atas beberapa cabang(folder) yang masing masing memiliki ranting sendiri- sendiri (subfolder ) seterusnya hingga mencapai daun(file).

Sebuah batang pohon bisa memiliki jumlah cabang berbeda- beda. Contohnya jika hanya ada 2 cabang bisa disebut pohon biner( binary tree) , empat cabang disebut quadtree, dan akhirnya 8 cabang disebu t octal tree(octree).

Octree mengijinkan penggunaan ruang memori lebih efisien dengan memakai resolusi yang hanya dibutuhkan saja. Perhatikan penggambaran teknik tree secara 2 dimensi berikut :

Gambar tersebut menunjukkan perkiraan gambaran sebuah lingkaran dengan resolusi 12 x 12, dapat kita lihat ter dapat beberapa sel yang kosong dan tidak terpakai. Dengan menggunakan quadtree didapatkan :

Membangun sebuah quadtree ada bidang 2d dapat dilakukan dengan membagi gambar awal dengan dua garis yang menghasilkan 4 kuadran (per- empat-an) bidang . Jika sebuah kuadran penuh atau kosong, proses akan berhenti sampai di sini. Jika kuadran hanya terisi sebagian , maka kuadran tersebut akan dibagi dua lagi dan demikian seterusnya. Proses baru akan berhenti jika keseluruhan kuadran telah homogen ( semuanya kosong atau semuanya terisi penuh ) atau hingga sampai pada kedalaman yang telah diinginkan. (pada contoh kita berhenti hingga kedalaman ¾ dengan masing- masing bidang terbagi 16 ). Dari contoh sederhana ini dapat dilihat hasil akhir yang lebih mendekati bentuk lingkaran sempurna dengan penggunaan lebih sedikit data (97 titik atau sel dibanding dengan 122 pada awal mulanya). Sebuah octree adalah perluasan dari teknik quadtree ini dalam bidang 3 dimensi, dimana tiap octree hanya perlu menjaga “sambungan/titik hubung” pada tiap sub bagian hasil pembagian yang dilakukan sebelumnya, sehingga pada praktiknya tiap titik hubung haruslah mengandung 8 pointer sebagai tambahan dari informasi warna RGBA dan bangun voxel dasar.


Octrees

Terdapat beberapa cara untuk menampilkan voxel pada layar, salah satunya yang dipilih id Software adalah teknik ray casting. Seperti ray tracing, ray casting adalah proses memancarkan atau menyorotkan berkas sinar (ray) pada tiap pixel. Perbedaan keduanya terletak pada saat terdapat persinggungan objek, algoritma ray casting akan berhenti dan tidak melakukan perhitungan lagi. Akibatnya raycasting jauh lebih cepat dari ray tracing karena tidak akan terdapat masalah akses memori pada ray kedua seperti yang terjadi pada ray tracing . Keuntungan lain adalah perhitungan persinggungan ray dengan voxel jauh lebih cepat daripada triangles, selain itu tidak diperlukan pula struktur data tambahan untuk mempecepat perhitungan persinggungan ini. Octree telah mencakup data (tekstur & geometri) dan struktur percepatan sekaligus.

Keunggulan rendering voxel octree
Keunggulan utama octree terletak pada kemampuan untuk memecahkan masalah LOD (level of detail) pada tekstur dan geometry sekligus hanya dengan penggunaan sebuah algoritma tunggal. Hal ini dikarenakan pada tiap octree telah terkandung informasi warna (RGBA) dan geometri (voxel) sekaligus. Sehingga jika sebelumnya (pada polygon triangle) tekstur dan geometri ditangani secara terpisah sepenuhnya, pada octree keudanya terangkum pada satu system yaitu pengaturan LOD octree itu sendiri.

Prinsip kerja yang digunakan sendiri merupakan perluasan dari prinsip kerja teknik mipmapping yang dipakai pada tekstur. Tujuan dari mipmapping adalah mencoba mengubah ukuran texel (texture element) menjadi sedekat mungkin dengan ukuran sebuah pixel. Untuk itu beberapa macam ukuran resolusi tekstur dihitung ulang dahulu kemudian disimpan ,hardware akan beradaptasi dengan pilihan ukuran yang ada untuk disesuaikan dengan tampilan pixel pada layar.

Hal semacam ini dipakai juga oleh voxel octree dengan pilihan tingkat detail yang lebih dinamis (tanpa perlu disimpan/ fixed terlebih dahulu) Segera setelah ukuran sebuah voxel lebih kecil dari ukuran pixel, rays yang memotong octree dihentikan prosesnya sehingga didapatkan ukuran tekstur pada voxel yang sesuai ukuran pixel.

Yang perlu dilakukan sebelumnya hanyalah menyimpan inforasi rata- rata yang terkandung dalam tiap sub bagian octree pada tiap titik hubung sehingga akan didapatkan cara paling sederhana dalam mengatur LOD. Mekanisme ini paling sesuai untuk diterapkan pada system yang menerapkan streaming rendering, misalnya pada sistem Mega Texture milik id software yang diapakai pada engine game RAGE (belum rilis).Hanya saja porsi octree yang diperlukan akan dismpan dalam memori video, sedangkan octree yang lain disimpan dalam memory utama guna mempercepat proses akses ke depannya (pada rasterization geometri/ triangles disimpan keseluruhan pada memori utama)

Sebagai hasilnya akan diperoleh jumlah geometri (dan tekstur) yang nyaris tak berhingga dengan detail octree sesuai dengan yang kita inginkan sementara jumlah memori utama dan memori video yang terpakai relatif konstan. Batasan yang ada hanya terleatak pada kemampuan artis menciptakan octree dan batasan pada media penyimpanan generasi selanjutnya.

Batasan pada tekstur sendiri memungkinkan untuk diatasi, misalnya dengan penggunaan sistem tekstur visual seperti megatexture yang kelak akan terdapat pada kebanyakan engine 3d seperti idtech 5 dan cryengine 3 tahun depan. Batasan pada geometri juga dapat diatasi dengan beberapa solusi yang telah mengemuka. Misalnya yang paling sederhana adalah penggunaan beberapa versi bangun geometri yang berbeda resolusi dan memilih salah satu yagn paling tepat untuk ditampilkan di layar sesuai dengan jarak kamera dengan bangun tersebut. Meskipun demikian masih terdapatr artifak visual yang terjadi ketika berpindah LoD.

Beberapa usaha dilakukan untuk menghaluskan proses perpindahan LoD, salah satunya disebut progressive mesh. Dimana untuk tiap- tiap LoD dipisahkan menjadi dua grup vertices(titik sudut): parent vertices dan child vertices. Saat LoD berkurang, child vertices akan dirender mendekati parent vertices secara bertahap dan dihapus sepenuhnya saat mencapai nilai integer baru bersamaan dengan dihapusnya tepian yang menghubungkan child dengan parent vertices.

Teknik ini dapat bekerja dengan baik meskipun tidak sepenuhnya otomatis. Diperlukan input tambahan untuk menunjuk tepian mana yang harus dipertahankan( tidak dihapus).
Cara lain adalah dengan tesselation (fitur DX11) pada tingkatan bangun primitif orde tinggi(disebut patches) yang dipasangkan dengan teknik displacement mapping. Teknik yang terakhir disebut telah ada secara teori selama bertahun- tahun tanpa hasil nyata yang cukup memuaskan.

Namun berkat usaha AMD dan microsoft teknik ini telah berhasil terwujud dengan standar DX 11 dan hardware grafik terbaru saat ini. Meski demikian voxel octrees sendiri masih menjadi alternatif yang menggoda untuk dicoba diterapkan para developer game karena beberapa keunggulan seperti pemecahan masalah tekstur dan geometri dengan algoritma tunggal sehingga pemilihan LoD menjadi sangat mudah dan fleksibel untuk dilakukan. Lagipula mengevaluasi ukuran voxel pada layar jauh lebih sederhana dibanding pada triangle.

Kekurangan dan Batasan Voxel
Masalh utama membangun octree terletak pada besarnya daya komputasi yang dibutuhkan sehingga sangat tidak realistis untuk menghitung perubahan yang terjadi secara real time pada objek geometri dinamis. Proposal yang diajukan id software sendiri untuk mengatasi masalh ini adalah dengan menggunakan octree hanya untuk bangun geometri statis, sementara keseluruhan elemen dinamis pada layar akan ditampilan dengan teknik rasterization.

Harapan yang tersemat di benak para gamer pada saat mendengar voxel disebut adalah sebuah dunia yang interaktif, dinding yang bisa diledakkan dan kemudian melihat bentuk dinding yang berubah dengan bahan batu bata terlihat di dalamnya. Sayangnya setidaknya untuk saat ini semua hal tersebut masih menjadi impian kita semua, dinding abadi masih akan banyak dipakai hingga beberapa tahun ke depan.

Masalah lain adalah pada sistem streaming yang dipakai. Saat kita mendekati sebuah objek secara bertahap LoD akan diatur , pada saat ini sistem utama akan menangani pemanggilan data dari octree sebagai task background. Karena struktur data telah diatur sebelumnya (dengan tree/percabangan), proses pemanggilan data ini akan berjalan mengalir dengan lancar. Namun apakah yang terjadi jika kita melakukan teleport ke bagian lain dunia? Karena geometri yang berbeda, sistem streaming yang dipakai akan macet dan terjebak. Karena itu game developer harus berusaha sebisa mungkin mengghjindari terjadinya situasi seperti ini.

Masalah ini tidak hanya terjadi pada voxel octree, namun hampir keseluruhan sistem rendering secara streaming dimana prinsip kerja yang dipakai adalah variasi LoD secara kontinyu yang tidak akan mampu mengatasi perubahan mendadak. Pada saat ini maslah streaming ditemui pada tekstur saja (karena untuk geometri yang ada saat ini fixed /statis untuk masing- masing LoD). Melihat tekstur reslusi rendah selama 1 atau 2 detik memang menyebalkan , namun melihat octree resolusi rendah bisa jadi menyeramkan!!

Kerugian lain voxel adalah terjadinya pikselasi. Jika kita hanya menampilkan warna dari voxel yang terpotong oleh Rays, tepian kasar dari bentuk kubus (bentuk dasar voxel) akan terlihat jelas. . Untungnya masalah ini bisa diatasi dengan penggunaan trilinear filtering secara 3 dimensi.

Tantangan terakhir adalah jumlah memori untuk menyimpan keseluruhan objek dalam voxel yang luar biasa besar . Meskipun hal ini tidak akan mempengaruhi jumlah resource yang dibutuhkan saat eksekusi. Namun untuk bisa memanipulasi, menyimpan kemudian mendistribusikan struktur data semacam ini akan diperlukan teknik kompresi yang serius oleh id software.

Penutup
Rendering 3d secara real time semain menarik untuk diikuti pada tiap fase evolusinya. Banyak pendekatan lama dan baru bisa digunakan untuk memecahkan berbagai masalah yang muncul bersamaan dengan hadirnya GPU yang makin programmable.

Voxel octree ray casting adalah teknik yang menjanjikan untuk meningkatrkan kompleksitas geometri secara drastis di masa depan. Sayangnya saat ini voxel masih berada pada tingkat eksperimen dan masih banyak pertanyaan yang belum terjawab pada saat Jon Olick mendemostrasikannya di ajang SIGGRAPH.

Salah satunya adalah tools grafik editor yang bisa dipakai para artis. Olick mengharapkan sebuah evolusi dari sistem yang diapakai oleh MegaTexture yang mengijinkan para artis untuk menambahkan buffer demi menambah detail tekstur. Sistem semacam ini akan memodifikasi bentuk geometri secara langsung bersamaan dengan perubahan normal map. Namun saat ini semuanya masih berupa konsep saja dan menampilkan demo yang menarik masih menjadi bagian paling sulit. Apalagi hingga menjadi produk akhir yang cukup stabil dan efisien.

Sangat menarik untuk melihat model animasi menggunakan beberapa juta poligon (7 juta tepatnya) dengan frame rate 60 FPS pada hardware kartu grafis masa kini saat demo oleh jon Olick . Hasil awal ini sepenuhnya menjanjikan saat kita berpikir hardware macam apa yang dibutuhkan apakah saat teknologi ini keluar kelak. Melihat lamanya waktu yang dibutuhkan untuk membuat game saat ini serta peluncuran RAGE tahun depan , setidaknya dibutuhkan 3 atau 4 tahun lagi sebelum teknologi voxel ray casting bisa sepenuhnya menyentuh pasar..

Sumber : GAMEBUZZ ed. 4, Tomshardware