Cg v nekterych profilech samozrejme podporuje celociselny datovy typ (int),pro pouziti nekterych vymozenosti modernich shaderu,jako je treba indexovani registru,je to nezbytnost.
Ano máte pravdu, ale obecně to použitelné není . Teď si ale nejsem jistý, jestli je možné pomocí intů vytvářet i vektory a matice (a provádět potom operace typu skalární a vektorový součin).
vzhledem k velkemu spektru profilu,ktere Cg podporuje,je obecne pouzitelna jen velmi uzka skupina veci.
operace,o nichz pisete,zrejme lze s inty uskutecnit,rozhodne se ale nebudou provadet jako SIMD.
to uz ale vice postradam bitove operace nad inty..
To je pravda, bitové operace by se hodily. Já jsem se o těch operacích s maticemi a vektory zmínil kvůli "ortogonalitě" jazyka, tj. když jde nějaká operace provést s jedním datovým typem, měla by jít provést i s typem jiným (pokud to samozřejmě alespoň trošku dává smysl). Teoreticky by mohlo být rychlejší zpracovávat dejme tomu barvy texelů ve vektoru integerů (int4) než floatů (float4), ale ne na dnešních GPU, kde je většina operací v HW podporována na floatech (tedy ne nutně na plném počtu bitů, ale to už jsou speciality).
Jo, už jsem to v nové specifikaci našel: The int type is preferably 32-bit two’s complement. Profiles may optionally treat int as float. Pořád jsem měl zafixované, že GPU integery neumí, ale jak je vidět, časy se mění.