Hirdetés

Aktív témák

  • con_di

    csendes tag

    válasz #65755648 #3876 üzenetére

    Igen, ha csak azt a cikket vennénk alapul, akkor akár még logikusnak is tűnhetne, DE...

    A shaderprogramokat bizonyos magasszintű programnyelveken írják (DXhez HLSL, mint High-Level Shading Language, OpenGLhez ugyanez a GLSL, van még CG is, ezek általában a C elfajzásai) amiket szükséges lefordítani valamilyen "assemblyre". A program a lefordítása után válik futtathatóvá, használhatóvá. Aszerint, hogy a forráskódról, vagy lefordított programról beszélünk, nevezzük shadernek vagy programnak, de DXben asszem ez is összemosódik (mint ahogy sokminden más is, elég igénytelen a nevezéktana).

    A fordítás műveletét írja le a cikkben, de egy ilyen "shader"-t használat előtt egyszer kell lefordítani, praktikusan valamikor a töltés során. Utána bármennyiszer futtatható. Bármilyen más programmal is így van ez, a CPUra fordított programoknál is így van, és az, hogy mennyi ideig fordítottad később nem befolyásolja negatívan a futásidőt (sőt, a komolyabb optimalizációk általában megnövelik a fordítási időt).

    A shader fordítás nem ritka művelet, több motor is játszik ezzel (Source az pl. biztosan), de alapvetően nem ez fogja meghatározni a sebességet, hanem az "assembly" minősége.

    Sikerült érthetően?

Aktív témák