Apakah tekstur pencarian masih digunakan untuk apa saja?

14

Saya tahu dalam waktu yang tidak lama (5-10 tahun?) Bahwa itu populer / efisien untuk memanggang data menjadi tekstur dan kemudian membaca data dari tekstur, sering menggunakan interpolasi tekstur bawaan untuk mendapatkan interpolasi linier dari roti yang dipanggang. data keluar.

Sekarang waktu komputasi lebih murah dibandingkan dengan waktu pencarian tekstur, praktik ini pasti berkurang jika tidak semua bersama-sama menghilang.

Pertanyaan saya adalah, apakah tekstur yang dipanggang masih digunakan untuk apa saja? Apakah ada yang punya kasus penggunaan untuk mereka dalam arsitektur modern? Apakah sepertinya mereka akan kembali lagi? (katakanlah, jika teknologi memori atau arsitektur GPU dasar berubah)

Alan Wolfe
sumber
Itu sepenuhnya tergantung pada use case. Bayangkan perhitungan Anda membutuhkan waktu satu jam untuk berjalan. Bukankah lebih baik hanya membuat tekstur pencarian dengan hasil dan menggunakannya pada GPU Anda saat runtime? Beberapa hal yang lebih sederhana mungkin lebih cepat dilakukan dengan instruksi ALU saat ini (misalnya transformasi warna tertentu), tetapi apa pun yang membutuhkan perhitungan berat akan selalu lebih cepat menggunakan tekstur pencarian.
Tara

Jawaban:

17

Ya, tekstur pencarian masih digunakan. Misalnya, pra-terintegrasi BRDFs (untuk pencahayaan sekitar, katakanlah), atau kurva rumit sewenang-wenang dipanggang menjadi tekstur 1D, atau tekstur pencarian 3D untuk penilaian warna, atau tekstur suara daripada PRNG di shader.

ALU umumnya lebih murah daripada sampel tekstur, benar, tetapi Anda masih memiliki jumlah ALU per bingkai yang terbatas. GPU bagus dalam menyembunyikan latensi dan tekstur pencarian kecil cenderung berada di cache. Jika fungsi Anda cukup rumit, mungkin masih layak menggunakan tekstur pencarian.

John Calsbeek
sumber