Heightmap

Heightmap, atau kadang disebut heightfield, adalah representasi digital dari permukaan tiga dimensi (3D) dalam bentuk data dua dimensi (2D). Bayangkan ini seperti peta topografi digital. Setiap "piksel" atau titik dalam heightmap menyimpan nilai ketinggian (elevasi) dari permukaan tersebut. Dalam grafik komputer, heightmap utamanya digunakan untuk memodelkan medan (terrain), tapi juga bisa dipakai untuk membuat detail permukaan pada objek 3D lainnya.

 Cara Kerja 
Sebuah heightmap biasanya berupa citra raster, seperti gambar bitmap biasa, di mana setiap pikselnya mewakili satu lokasi di permukaan. Ketinggian di lokasi tersebut ditentukan oleh intensitas warna piksel:

 Piksel gelap (mendekati hitam) menunjukkan ketinggian yang rendah.
 Piksel terang (mendekati putih) menunjukkan ketinggian yang tinggi.

Saat heightmap ini diproses oleh perangkat lunak atau mesin grafis, nilai ketinggian dari setiap piksel digunakan untuk "mengangkat" atau "menurunkan" titik-titik pada sebuah jaring datar (grid) secara vertikal. Hasilnya adalah permukaan 3D yang memiliki lekukan, bukit, lembah, atau detail lain sesuai dengan perbedaan warna di heightmap. Desainer bisa mengatur seberapa besar perbedaan ketinggian yang diwakili oleh setiap perubahan warna, yang akan memengaruhi "kontras" visual medan yang dihasilkan.

 Presisi Ketinggian 
Standar citra grayscale 8-bit hanya bisa menyimpan 256 tingkat ketinggian yang berbeda (dari hitam ke putih).Understanding Bit B Depth Untuk detail yang lebih halus, terutama pada area luas dengan perbedaan ketinggian yang samar, ini bisa membuat medan terlihat "bertangga" atau tidak mulus. Untuk mengatasi ini, heightmap bisa menggunakan:Images mode

 Saluran warna individual: Citra RGB 24-bit dapat menyimpan lebih dari 16 juta tingkat ketinggian (256 x 256 x 256).
 Saluran alfa (alpha channel): Jika ditambahkan ke RGB, ini bisa meningkatkan presisi hingga lebih dari 4 miliar tingkat ketinggian.

Selain itu, heightmap juga bisa disimpan sebagai susunan (array) dua dimensi dari nilai numerik langsung (misalnya, bilangan floating-point) tanpa perlu representasi warna, yang sering kali memberikan presisi yang lebih tinggi.

 Aplikasi 
Heightmap punya banyak kegunaan di berbagai bidang:

 Pengembangan Permainan Video: Ini adalah metode paling umum untuk membuat medan dalam permainan. Desainer bisa dengan cepat menciptakan lingkungan yang luas, dari pegunungan hingga dataran rendah, hanya dengan mengedit gambar 2D.
 Simulasi: Digunakan dalam simulasi penerbangan, simulasi militer, atau simulasi lingkungan untuk merepresentasikan topografi bumi secara akurat.
 Visualisasi Data Geospasial: Dalam Sistem Informasi Geografis (GIS), heightmap adalah bentuk dari Digital Elevation Model (DEM) yang digunakan untuk memvisualisasikan elevasi permukaan bumi.
 Pemodelan 3D: Selain medan, heightmap juga dipakai untuk menambahkan detail pada permukaan objek 3D lain. Misalnya, displacement mapping menggunakan heightmap untuk secara fisik mengubah bentuk permukaan, sementara bump mapping atau normal mapping menggunakannya untuk menciptakan ilusi kedalaman dan tekstur tanpa mengubah geometri asli.
 Seni Digital: Seniman digital menggunakannya untuk menciptakan tekstur yang memberikan kesan timbul atau cekung pada permukaan digital.

 Kelebihan dan Kekurangan 
Seperti teknologi lainnya, heightmap memiliki pro dan kontranya:

 Kelebihan 

 Penyimpanan Efisien: Heightmap hanya perlu menyimpan satu nilai (ketinggian) untuk setiap titik, tidak perlu tiga koordinat (X, Y, Z).
 Penciptaan yang Mudah: Relatif gampang dibuat dan dimodifikasi menggunakan perangkat lunak pengedit gambar atau alat khusus pembuat medan.
 Rendering Cepat: Struktur datanya yang sederhana memungkinkan mesin grafis untuk merendernya dengan sangat cepat.

 Kekurangan 

 Tidak Cocok untuk Topografi Kompleks: Heightmap memiliki batasan utama: setiap titik di bidang horizontal hanya bisa memiliki satu ketinggian. Artinya, fitur seperti gua, lengkungan gantung, tebing yang menggantung ke belakang, atau jembatan tidak bisa direpresentasikan secara langsung menggunakan heightmap tunggal.
 Batasan Detail Vertikal: Jika tidak menggunakan format dengan presisi bit yang tinggi, detail vertikal bisa terlihat kurang halus atau "bertangga".

 Format File Umum 
Heightmap bisa disimpan dalam berbagai format file gambar, baik yang umum maupun yang spesifik untuk aplikasi tertentu:

 PNG (Portable Network Graphics): Sering dipakai karena kompresi tanpa kehilangan data dan dukungan untuk kedalaman bit yang berbeda.
 RAW: Format data mentah yang hanya menyimpan nilai ketinggian secara langsung, tanpa metadata tambahan.
 TIFF (Tagged Image File Format): Mendukung berbagai kedalaman bit dan bisa menyimpan metadata.
 BMP (Bitmap): Format gambar tanpa kompresi yang juga bisa digunakan.
 Format Spesifik: Beberapa perangkat lunak pembuat medan memiliki format heightmap mereka sendiri, seperti Daylon Leveller, GenesisIV, dan Terragen.

 Lihat pula 

 Model warna CcMmYK
 Mode warna CMYK
 Mode warna Grayscale

 Referensi 

Kategori:Pemetaan digital
Kategori:Pengembangan permainan video
Kategori:Simulasi komputer
Kategori:Data raster
Kategori:Pemodelan 3D
Kategori:Grafika komputer 3d