Wah, itu judul yang panjang.
Either way, saya mengajukan pertanyaan ini, karena saya suka memikirkan berbagai hal, dan terpikir oleh saya bahwa sebenarnya tidak ada lapisan open source yang sederhana di atas GLSL, bahkan jika hanya untuk menambahkan hal-hal sederhana seperti termasuk, atau fungsi yang biasa digunakan.
Sebagai semacam penelitian, saya mengajukan pertanyaan ini, karena kesadaran saya sendiri tentang bahasa seperti itu sangat kecil untuk sedikitnya - saya tahu bahasa shading bgfx, dan Unity's ShaderLab, tapi saya tidak benar-benar tahu apa yang mereka capai - atau mengapa - Menjadi pemula relatif untuk grafis komputer.
Atau, apa daftar keinginan Anda untuk bahasa bayangan seperti ini? Milik saya sejauh ini termasuk, beberapa kompatibilitas antara versi, input "tersembunyi" opsional yang memungkinkan dengan mudah mengakses tekstur pada offset piksel, atau ukuran gambar, dll. Dan mungkin melewati - untuk, katakanlah, gaussian blur dua lintasan.
Pikiran?
Jawaban:
Saya pikir itu adil untuk mengatakan bahwa alasan ada begitu banyak variasi niche GLSL / HLSL / Cg / yang lainnya adalah karena tidak ada bahasa pemrograman juga tidak akan pernah menjadi satu ukuran cocok untuk semua alat. Masalah yang berbeda membutuhkan alat yang berbeda, jadi terkadang ada baiknya upaya mengembangkan alat yang dibuat khusus jika akan terbayar dalam jangka panjang.
Stock GLSL dengan sendirinya cukup banyak tidak dapat digunakan. Itu bahkan belum memperoleh banyak stabilitas di seluruh versi, jadi untuk program yang menargetkan lebih dari satu versi OpenGL, semacam preprocessing adalah suatu keharusan. HLSL sedikit lebih stabil di seluruh versi, tetapi sekali lagi, jika menargetkan lebih dari satu versi D3D, beberapa pekerjaan perlu dilakukan untuk mendapatkan portabilitas yang baik.
Jenis hal yang biasanya dilakukan orang adalah apa yang Anda katakan, seperti menambahkan dukungan untuk fitur pemrograman dasar seperti modul dan sintaksis yang seragam antar versi, atau bahkan portabilitas di berbagai API (GL / D3D) tanpa harus menulis ulang kode shader. Hal-hal yang lebih canggih termasuk sistem material yang lengkap atau hal-hal seperti membuat program shader dengan cepat .
Bahasa shading mungkin akan menjadi lebih baik dan lebih umum di masa depan, menggabungkan hal-hal yang saat ini umumnya digulung tangan sebagai fitur inti. Arsitektur GCN baru adalah pertanda. Jadi bahasa shading akan lebih dapat digunakan di luar kotak beberapa saat dari sekarang, tetapi solusi yang dibuat khusus tidak akan pernah hilang karena hanya ada begitu banyak yang dapat digeneralisasi.
sumber