☰ Menu

Scene.hu

Magyar demoscene portál – grafikusok, zenészek, programozók alkotói közössége

hg_sdf – a Mercury eszköztára

Posted by Gargaj on 2015-12-16, 15:48

Igazán érdekes és módfelett hasznos dologgal rukkolt elő a Mercury: Nyílt forráskódúvá tették azon shader-libraryjük jelentős részét, amit nem csak a nagysikerű intróikban láthattunk dolgozni, hanem Cupe NVScene-s előadásában még közelebbről is bemutatta, hogy milyen gyorsan lehet vele dolgozni.

Miről is van tehát szó? A hg_sdf névre keresztelt függvény-gyűjtemény a manapság rendkívül népszerű signed distance field renderinget (előjeles távolságtér? Jézusom) hivatott megkönnyíteni: Aki ezt nem ismeri, röviden összefoglalva a módszer lényege annyi, hogy a kirenderelendő objektumokat felületekként kezeljük a kódban, és a tér minden pontjára meghatározzuk, hogy milyen távol van a térben legközelebb lévő felülettől. A technika népszerűsége természetesen IQ / RGBA-nak köszönhető, aki szintén rengeteg infót biztosított már róla – ez a mostani kezdeményezés a Mercury részéről igazolja is az erre való igényt.

hgsdf

Nyilván a technikának megvannak az előnyei és hátrányai, utóbbi például az, hogy mindent matematikailag kell leírni; ebben próbál segítséget nyújtani ez a hasznos kis fájl, amiben az alapvető geometriai formák mellett rengetegféle ismétlődési, vagy épp csatlakoztatási formula van leírva, aminek segítségével sokkal könnyebb magukat az egyszerű formákat kicsit részletesebbé tenni. Az oldalon a leírás és a kód mellett kis dokumentáció is található arról, hogy mit hogyan érdemes megközelíteni (pun not intended), és bár maga a kód maga GLSL-hez készült, semmi olyat nem tartalmaz, ami ne lehetne átültethető HLSL-re is, így gyakorlatilag bárkinek csak a hasznára válhat, aki ilyen jellegű intrót / demót szeretne csinálni, vagy akár csak Shadertoyon szeretne valamível virítani.

Apropó Shadertoy, azt tudtátok, hogy IQ valószínűleg nem erről a bolygóról származik?

6 Responses so far.

  1. avatar reptile says:

    Azért csak óvatosan, abszolút nvidia-only a cucc, tele van glsl szabálytalanságokkal.

  2. avatar reptile says:

    Mármint webgl, gl es, és glsl v120 előtt :) Könnyű amúgy javítani, de írtam nekik, hátha ők is megteszik.

  3. avatar Gargaj says:

    Az azert vicces mert Cupe pont par napja buszkelkedett el vele hogy vegre minden shaderuk NVIDIA/AMD/GLSlang kompatibilis es warningmentes :)

  4. avatar reptile says:

    Ebben igaza is van, csak sajnos a glsl olyan, hogy még a tök hasonló platformokon is mások a szabályok :) A library ebben a formájában mobilon és webgl-en nem működik. A szomorú az, hogy ha 1 helyett 1.0-t írna, meg is oldódna a gond, de ettől eléggé elzárkózott. (Illetve desktopon glsl 1.20 előtt sem, de az már szinte lényegtelen)

  5. avatar Gargaj says:

    Pedig azt meg nemregen utalta az AMD shadercompiler is :)

  6. avatar Citrus says:

    IQ Arlo shadere annyira foldonkivuli, hogy a gepem is kifagy tole.

Leave a Reply

You must be logged in to post a comment.

Ugrás a lap tetejére Ugrás a lap aljára