Shadertoy - Shadertoy

Shadertoy.com
Asl muallif (lar)Inigo Quilez va Pol Jeremias
Dastlabki chiqarilish2013 yil 14 fevral (2013-02-14)
Barqaror chiqish
0.8.3 versiyasi / 2016 yil 3 mart
YozilganGLSL, JavaScript, PHP
Turi3D kompyuter grafikasi vosita jamiyat
Veb-saytwww.shadertoy.com

Shadertoy.com a o'zaro faoliyat brauzer onlayn hamjamiyat va yaratish va almashish vositasi shaderlar orqali WebGL, o'rganish va o'qitish uchun ham ishlatiladi 3D kompyuter grafikasi a veb-brauzer.

Umumiy nuqtai

Shadertoyda masofaviy maydonlar bilan yaratilgan, modellashtirilgan, soyali, yoritilgan va real vaqtda ko'rsatiladigan protsessual tasvir

Shadertoy.com - bu onlayn hamjamiyat va platforma Kompyuter grafikasi mutaxassislar, akademiklar[1] va taqdim etish texnikasi va protsessual san'ati bilan o'rtoqlashadigan, o'rganadigan va tajriba o'tkazadigan ixlosmandlar GLSL kod. 2019 yil o'rtalarida minglab foydalanuvchilar tomonidan 31 mingdan ortiq jamoat hissasi mavjud. WebGL[2] Shadertoy-ga hisoblash quvvatidan foydalanish imkoniyatini beradi GPU hosil qilmoq protsessual san'at, animatsiya, modellar, yorug'lik, davlatga asoslangan mantiq va ovoz.

Tarix

Shadertoy.com Pol Jeremias va Inigo Quilez tomonidan 2013 yil yanvar oyida yaratilgan va shu yilning fevral oyida Internetga kirgan.

Harakatning ildizi Inigoning "Shadertoy" bo'limida [3] uning kompyuter grafikasi o'quv veb-saytida.[4] Birinchisi kelishi bilan WebGL Mozilla's tomonidan amalga oshiriladi Firefox 2009 yilda Quilez birinchi onlayn jonli kodlash muhiti va protsessual shaderlarning saqlanadigan omborini yaratdi. Ushbu tarkib 18 ta muallif tomonidan sovg'a qilingan Demosken va ilgari Internetda hech qachon ko'rilmagan rivojlangan real vaqtda va interaktiv animatsiyalarni namoyish etdi, masalan, nurli metaballalar, fraktallar va tunnel effektlari.

Bir necha yillar davomida real vaqt rejimida bir nechta loyihalarda birgalikda ishlagandan so'ng, 2012 yil dekabrida Quilez va Pol o'zining Shaxertoy sahifasining demosenli lazzat manbai va hajmi cheklangan real vaqt grafikasi bilan an'analariga amal qiladigan yangi Shadertoy saytini yaratishga qaror qildilar. mazmuni, ammo ijtimoiy va jamoat xususiyatlarini qo'shib, ochiq manbali munosabatni o'z ichiga oladi.

Sahifa jonli muharriri, real vaqtda ijro etish, ko'rib chiqish va qidirish qobiliyatlari, etiketlash va sharhlash xususiyatlari bilan chiqdi. Shadertoy tarkibidan oqilona foydalanib, o'z foydalanuvchilariga ijodiy yo'llar bilan foydalanishlari uchun qat'iy va cheklangan to'qimalar to'plamini taqdim etdi. Bir necha yillar davomida Shadertoy qo'shimcha funktsiyalarni qo'shdi, masalan, veb-kamera va mikrofonni qo'llab-quvvatlash, video, musiqa, Virtual Reality ko'rsatish va ko'p passali ko'rsatish.

Minglab foydalanuvchilarning jami 31 mingdan ortiq hissasi bor, ularning bir nechtasi ilmiy ishlarda keltirilgan. Shadertoy, shuningdek, har yili o'z jamoalarining zavqlanishlari uchun "Siggraph 2015 Shadertoy Competition" musobaqalari va tadbirlarini o'tkazadi.[5]

Xususiyatlari

  • Tartibga solish: zudlik bilan vizual qayta aloqa bilan sintaksis ajratilgan muharriri
  • Ijtimoiy: shadertoylarga sharh berish, ovoz berish (layk)
  • Ulashish: boshqa veb-saytlarga joylashtirilgan doimiy URL manzillari, shaxsiy shader almashish
  • Renderlash: suzuvchi nuqta buferiga asoslangan multipass va tarix
  • Media-kirish: mikrofon, veb-kamera, klaviatura, sichqoncha, VR HMD-lar, soundcloud, video, teksturalar

Foydalanish

Shadertoyda yaratilgan protsessual animatsiyaning misoli quyidagi kvadrat tunnel bo'lishi mumkin:

bekor mainImage( chiqib vec4 fragColor, yilda vec2 fragCoord ){    // kiritish: piksel koordinatalari    vec2 p = (-iResolution.xy + 2.0*fragCoord)/iResolution.y;    // har bir pikselning ekranning markaziga burchagi    suzmoq a = atan(p.y,p.x);        // o'zgartirilgan masofa metrikasi    suzmoq r = kuch( kuch(p.x*p.x,4.0) + kuch(p.y*p.y,4.0), 1.0/8.0 );        // (to'qima teskari) radiusi va burchagi bo'yicha indeks teksturasi    vec2 uv = vec2( 1.0/r + 0.2*iTime, a );    // naqsh: kosinuslar    suzmoq f = cos(12.0*uv.x)*cos(6.0*uv.y);    // rang olish: palitrasi    vec3 kol = 0.5 + 0.5*gunoh( 3.1416*f + vec3(0.0,0.5,1.0) );        // yoritish: markazda qorayish     kol = kol*r;        // chiqish: piksel rangi    fragColor = vec4( kol, 1.0 );}

Yuqoridagi kod quyidagi rasmni yaratadi:

Yuqoridagi kod bilan yaratilgan rasm

Zikrlar

Shadertoy.com saytiga bir nechta manbalarda murojaat qilingan:

  • NVidia ishlab chiquvchisi blogi, Iyun 2016, Shadertoy tanlovi 2016 e'lon qilindi.[6]
  • Haqiqiy vaqtda jonli ravishda Siggraph!, 2015 yil, interfaol ovozli vizualizatsiya loyihasi.[7]
  • Hacker yangiliklari, 2014, Shadertoy brauzerda protsessual GPU tomonidan ishlab chiqarilgan musiqani qo'shadi.[8]
  • Aniq aniqlangan yuzalarni nurli izlash uchun raqamli usullar,[9]
  • Uilyams kollejidagi CS 371 kursi, 2014, CS 371 uchun ilhom[10]
  • Haqiqiy vaqtni ko'rsatish, 2015 yil avgust, 2015 yil 20 avgust uchun etti narsa.[11]

Adabiyotlar

  1. ^ http://graphics.cs.williams.edu/courses/cs371/f14/reading/shadertoy.pdf
  2. ^ "Khronos WebGL 1.0 spesifikatsiyasini chiqaradi". Khronos guruhi. 2011 yil 3 mart. Olingan 2 iyun 2012.
  3. ^ "Shader Toy". www.iquilezles.org.
  4. ^ "Inigo Quilez".
  5. ^ "Siggraph 2015 Shadertoy tanlovi".
  6. ^ "NVidia developer blog". 2016. Olingan 2 iyun 2016.
  7. ^ "Siggraph 2015 da Shadertoy tanlovi. Haqiqiy vaqtda jonli efirda!". Olingan 2015-08-13.
  8. ^ "Hacker News". yombinator. Olingan 2020-08-31.
  9. ^ "Aniq aniqlangan sirtlarni nurlarini izlash uchun raqamli usullar" (PDF). Uilyams kolleji. Arxivlandi asl nusxasi (PDF) 2015-09-06. Olingan 2014-09-25.
  10. ^ "CS 371" (PDF). Uilyams kolleji.
  11. ^ "Haqiqiy vaqtda taqdim etish - 2015 yil 20-avgust uchun ettita narsa". realtimerendering.com. 2015 yil. Olingan 20 avgust 2015.

Tashqi havolalar