Bagikan melalui


Pemetaan Lingkungan Bola (Direct3D 9)

Peta lingkungan bola, atau peta bola, adalah tekstur khusus yang berisi gambar adegan di sekitar objek, atau efek pencahayaan di sekitar objek. Tidak seperti peta lingkungan kubik, peta bola tidak secara langsung mewakili lingkungan objek. Gambar teko dalam topik Pemetaan Lingkungan (Direct3D 9) menunjukkan efek pantulan yang dapat Anda capai dengan pemetaan bola. Peta bola adalah representasi 2D dari tampilan 360 derajat penuh dari pemandangan di sekitar objek, seolah-olah diambil melalui lensa mata ikan, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi peta bola bagian dalam bangunan

Koordinat Tekstur untuk Peta Lingkungan Buncis

Koordinat tekstur yang Anda tentukan untuk setiap puncak yang menerima pemetaan lingkungan harus mengatasi tekstur sebagai fungsi distorsi reflektif yang dibuat oleh kelengkungan permukaan. Aplikasi harus menghitung koordinat tekstur ini untuk setiap puncak untuk mencapai efek yang diinginkan. Salah satu cara sederhana dan efektif untuk menghasilkan koordinat tekstur menggunakan puncak normal sebagai input. Meskipun ada beberapa metode, persamaan berikut umum di antara aplikasi yang melakukan pemetaan lingkungan dengan peta bola.

persamaan koordinat tekstur komputasi untuk peta sphere

Dalam rumus ini, Anda dan v adalah koordinat tekstur yang dihitung, dan NX dan NY adalah komponen x dan y dari vertex ruang kamera normal. Rumusnya sederhana tetapi efektif. Jika normal memiliki komponen x positif, titik normal di sebelah kanan, dan koordinat u disesuaikan untuk mengatasi tekstur dengan tepat. Demikian juga untuk koordinat v: y positif menunjukkan bahwa poin normal naik. Sebaliknya berlaku untuk nilai negatif di setiap komponen.

Jika titik normal langsung ke kamera, koordinat yang dihasilkan tidak akan menerima distorsi. Bias +0,5 untuk kedua koordinat menempatkan titik distorsi nol di pusat peta bola, dan puncak normal (0, 0, z) membahas titik ini. Rumus ini tidak memperhitungkan komponen z dari normal, tetapi aplikasi yang menggunakan rumus dapat mengoptimalkan komputasi dengan melompati simpul dengan normal yang memiliki elemen z positif. Ini berfungsi untuk objek berbayang datar karena, di ruang kamera, jika titik normal menjauh dari kamera (z positif), puncak dimusnahkan saat objek dirender. Untuk objek berbayang Gouraud, normal dapat menunjuk jauh dari kamera (positif x), dan segitiga yang berisi puncak masih dapat terlihat. Jika Anda tidak menghitung Anda dan v untuk verteks ini, wajah mungkin masih digunakan, yang mengakibatkan perilaku yang tidak terduga.

Menerapkan Peta Lingkungan Spherical

Anda menerapkan peta lingkungan ke objek dengan cara yang sama seperti untuk tekstur lainnya, dengan mengatur tekstur ke tahap tekstur yang sesuai dengan metode IDirect3DDevice9::SetTexture . Atur parameter pertama ke indeks untuk tahap tekstur yang diinginkan, dan atur parameter kedua ke alamat antarmuka IDirect3DDevice9 yang dikembalikan saat Anda membuat tekstur untuk peta lingkungan. Anda dapat mengatur operasi dan argumen penpaduan warna dan alfa sesuai kebutuhan untuk mencapai efek penpaduan tekstur yang diinginkan.

Pemetaan Lingkungan