Shaders dari segala kerumitan pada umumnya bukan hal yang dapat Anda unduh dan masukkan ke proyek Anda seperti gigi yang dapat dipertukarkan. Biasanya efek yang lebih menarik membutuhkan sedikit penggandengan pada subsistem rendering sisi CPU untuk mencapai hasil mereka. Hal yang sama pada umumnya berlaku untuk kinerja - pertukaran kinerja sehubungan dengan akurasi dan kualitas dibandingkan jumlah instruksi atau perpipaan cenderung berakar pada persyaratan khusus aplikasi.
Akibatnya, tidak ada banyak hal yang Anda pikirkan dalam cara repositori. Buku-buku Permata GPU menawarkan koleksi yang baik dari deskripsi gaya buku resep teknik dengan kedua gim dan contoh kode teduh yang mungkin ingin Anda lihat. Begitu juga buku-buku Shader X.
Tidak banyak, tetapi setidaknya beberapa shader dasar untuk memulai juga dapat ditemukan di antara file engine open sorce saya:
file .vsh berisi vertex shaders dan .fsh file fragmen shaders, tapi kurasa itu menjelaskan sendiri ...
Pada perangkat keras seluler saat ini, Anda harus melakukan sebanyak mungkin dalam vertex shader dan trik untuk permainan yang tampak hebat dan cepat adalah dengan menulis banyak shader khusus yang selalu melakukan apa yang dibutuhkan untuk membuat sesuatu terlihat seperti yang seharusnya. Setidaknya itulah pengalaman saya dengan iPhone 3GS saya, yang menampilkan GPU yang sama dengan iPhone 4 tetapi memiliki piksel lebih sedikit untuk mengirimkan data. Ini kemungkinan besar sudah jauh lebih baik dengan Tegra 2 dan bahkan lebih baik dengan chip apel A5, tetapi untuk saat ini, ini berarti Anda tidak boleh mencoba mem-port shader untuk desktop GPU ke ponsel dan mengharapkan kinerja yang hebat: P Ini juga berarti layar penuh efeknya, terutama pada perangkat dengan tampilan resolusi tinggi cenderung lambat.
Semoga ini juga sedikit membantu :).
sumber
mungkin menyambar beberapa pengetahuan misterius dari sini http://glslsandbox.com/
sumber
Ketika saya sedang mencari cara menerapkan kabut di bawah OpenGL ES 2.0, saya telah menemukan tautan ke OpenGL ES 2.0 yang kompatibel dengan fungsionalitas implementasi proyek yang terbelakang , yang tidak ada dalam OpenGL ES 2.0, Misalnya kabut, per simpul, per bayangan fragmen (piksel). Anda dapat melihat langsung ke sumber shader .
Saya telah menerapkan pencahayaan per fragmen juga, memodifikasi contoh ini dibuat oleh ClockworkCoders (bukan OpenGL ES 2.0).
Anda juga dapat melihat tutorial hebat ini oleh lighthouse3D
sumber
Paket AMD RenderMonkey berisi shader yang sangat canggih untuk OpenGL ES 2.0 di antara file sampel.
Lihatlah terutama pada contoh shader Renderman di direktori sampel GLES, yang menyediakan lebih banyak atau lebih sedikit tulang telanjang shader OpenGL ES 2.0 yang mungkin berfungsi sebagai titik awal yang baik. Dan mungkin juga memberi Anda ide yang bagus tentang mengapa tidak ada banyak contoh tempel yang bagus di luar sana. Masalah mendasar: bahwa shader dipasangkan dengan erat dengan konfigurasi server OpenGL ES, dan model yang diberikan pada mereka. Masih. Shader Renderman adalah titik awal yang sangat baik, jika Anda dapat melepaskannya dari alat REnderMonkey.
sumber
Lihatlah GPUImage ( https://github.com/BradLarson/GPUImage ), ini mungkin koleksi shader paling lengkap yang saya temukan di web sejauh ini. Karena semuanya dirancang untuk bekerja dengan GPUImage, semuanya memiliki struktur yang sama, jadi jika Anda mengadaptasi struktur yang sama dalam aplikasi / game Anda, Anda harus dapat dengan cepat mengimpor sejumlah efek yang berbeda.
Bersulang!
sumber