Malý počítačový bůh
alias
Martin Hejral a jeho knihovny
O každém z těchto produktů by se dal napsat celý článek. Mohl bych se věnovat momentální nespolupráci s Blow Upem či snad NVDI 3.0. Dále také vymoženostem při konverzích, prací s buffery či bych mohl jen komentovat jednotlivé zdrojaky a funkce v každém archívu. Nic z toho však dělat nebudu, protože se domnívám, že nejdůležitější ze všeho je, abyste o knihovnách od Martina Hejrala věděli, zkusili je, a až potom se pustili do posouzení. A protože programátorů mezi námi prozatím mnoho není, ponechám tedy jen a jen na vás, zda-li projevíte zájem o disk CZE002 našeho Public Sectoru. A chcete-li vidět jak programuje český génius na Falconovi (pozor IMAGE LIBRARY běhá i na ST), neměli byste váhat.
IMAGE LIBRARY v 0.19
Martin Hejral (c)95/96
Nejdříve necháme produkt v krátkosti představit samotným autorem:
IMAGE LIBRARY je knihovna určená pro snadné, jednoduché a rychlé psaní grafických aplikací v jazyku C. Jejím prvotním smyslem je zbavit céčkové programátory problému, který se vyskytuje zcela určitě u každého solidního grafického softwaru, totiž nutností uschovávat a opětně načítat obrázky.
Nemusíte už více zápolit s programováním diskových operací a můžete více času věnovat "svému" problému. Knihovna je zaměřena na použití _standardních_, _rozšířených_ a _jednoduchých_ grafických formátů. Jako poněkud neobvyklá funkce je zařazeno přehrávání animací, zatím pouze ve formátu Cyber Paint SEQ. Druhou skupinou jejích vlastností je schopnost převést bitmapová data do formátu obrazovky a také tyto data zobrazit. Sem patří také různé konverze paměťových formátů, redukce barev a dithering. Ve třetí skupině jsou zařazeny grafické kreslící fukce. Některé pracují v 5-6-5 true color grafickém režimu: Jsou to především kreslení s antialiasingem, které nepodporuje normální VDI a dále např. generování barevných přechodů. Myslím, že další velice příjemnou možností je načtení a použití standardních GEM GDOS bitmapových fontů, a to _BEZ_rezidentního_GDOSu_!
IMAGE LIBRARY je knihovna určená pro použití v PURE C / TURBO C na Atari ST a dalších TOS kompatibilních počítačích. Obsahuje také některé funkce využívající speciální vlastnosti Falconů. Není mi známo, zda se formát knihovny neshoduje s dalšími odrůdami C na Atari (pokud to někdo víte ozvěte se), a zda jej tedy lze použít i s C jiných výrobců.
Ačkoliv je projekt, stejně jako 3D knihovna od stejného autora, teprve ve své, řekněme čtvrtině, už dnes může poskytnout všem programátorům, kteří občas nějak pracují s grafikou, užitečné funkce. Těžko říci, zda-li se Martin Hejral rozhoupá k další činnosti, ale pokud by k tomu přece jen došlo, byli by patrně všichni rádi.
Proč? Protože nedodělaných a nekorektně fungujících části je v programu celá řada. Ať už se to týká nefungujících IMG v celé řadě rozlišení, prozatím neexistující možnosti čtení kompresovaných TGA či velmi podivného chování v True Coloru. Jediným formátem, který funguje poměrně korektně je tedy GIF (čtení), RAW, CA1 a IFF jsem dokonale nezkoušel.
A co by se mělo objevit v knihovně nového už při příštím release? Texturované písmo, pravý antialiasing fontů s využitím SPEEDO GDOS, ukládání GIF, načítání PC? a PI?, vylepšení práce s TGA formátem, FLI animace, práce s TC obrázky ve vrstvách (prolínání, sčítání, násobení, maskování, ...), podpora formátu GEM, čtení (Jaguar) joypad ovladačů
A další produktem ze stejné dílny je . . .
3D LIBRARY for Atari TOS computers
- grafická knihovna pro jazyk PURE C umožňující vytvoření a manipulaci s prostorovými objekty. Největší důraz je kladen na algoritmus 'raytracing'. Knihovna je naprogramována na základě algoritmů z knihy německého autora Matthiase Oberdorfera, které byly původně určeny pro 256barevné VGA. Rutiny nyní pracují v 16bitovém grafickém módu a bylo již provedeno mnoho optimalizací a opraveny některé chyby. Matthias Oberdorfer se při pojmenovávání funkcí inspiroval grafickým systémem existujícím na UNIXových počítačích, takže pokud se dostanete k těmto systémům budete mít možná ulehčenou práci.
Z důvodu nedostatku času není zatím k dispozici žádné vysvětlení funkcí, jejich stručný popis hledejte v include souborech .H. Většinu věcí by měly osvětlit i příklady v adresáři EXAMPLES.
- v současné době je tato 3D knihovna vhodná spíše jen pro vyzkoušení postupů při práci s prostorovou grafikou a to především z důvodu nedostatečné rychlosti (můžete se těšit na další optimalizaci algoritmů a vrcholem by mělo být využití falconovského DSP při raytracingu). Uvítám, pokud mi napíšete vaše připomínky a zkušenosti s tímto softwarem.~
Požadavky na hardware:
- procesor: nejméně Motorola 68020
- koprocesor: nejméně Motorola 68881
- grafika: 16bit True Color mode (R-G-B: 5-6-5)
Funkce:
Funkce 3D LIBRARY jsou rozděleny do několika skupin podle oblastí využití. Dále uvedeným názvům skupin odpovídají také jména include souborů .H, v nichž jsou příslušné funkce deklarovány.
MLIB - nejnižší úroveň, která je využívána všemi ostatními rutinami pro přístup k hardwaru. Základní funkce grafického výstupu, čtení klávesnice a myši.
VECTOR
- vektorové výpočty.
GL
- vytváření, zobrazení a manipulace s objekty. Podporované objekty jsou bod, polygon, trojúhelník, řetěz úseček (tah), uzavřený tah a koule:
Dále je možné používat bodové světelné zdroje.
RAY
- generování realistického obrazu scény metodou sledování paprsku (raytracing). Podporovány jsou i textury.
GADGET
- jednoduché grafické uživatelské rozhraní (tlačítka a texty).
Tentokrát Martin Hejral vypustil poněkud dodělanější dílko, ostatně, jak sám píše, v podstatě důkladně přepsal knihovnu pro PC. Jelikož bylo průzkumem zjištěno, že u nás bohužel není příliš mnoho lidí, kteří by u nás pracovali v 'C' s 3D grafikou na Falconech, chytře byla dokumentace přeložena zároveň do Angličtiny a Němčiny. V příštích verzích můžeme navíc čekat větší množství optimalizací a pravděpodobně i pružnou možnost práce s raytracingem.
DSP Kit for F030 v0.1
A neuveřitelně, Martin Hejral zpracoval pro Falcona ještě jeden balík rutin, tentokrát půjde o náš nejoblíbenější procesor, který všem strkáme pod nos a říkáme, že počítač bez něj je jako PC s MS-DOSem bez klávesnice. Takže, důvtipnější z vás správně tuší, že půjde o DSP 56001 (osobně dodnes nevím, proč firma ATARI nenarvala do Falcon rovnou 68040 a DSP 56300, měli bychom ještě v dnešních dnech vskutku nedostižný výkon, zatímco takhle nám v přehrávání 16 kanálových S3M začíná Pentium 150 Mhz nebezpečně šlapat na paty :), no nic, ještě máme skladby s 32 kanály ;))). A protože Martina Hejral není žádný nacionalista, omluvil se v README, že celý balík má prozatím dokumentaci v češtině, i když já osobně si uvnitř ničeho podobného nevšiml.
Co však DSP kit umí?
Umí pracovat s efekty jako echo, velmi názorně vám skrze C a Assembler ukáže jak posílat data skrze SSI a Host Port. K balíku je krom toho pokusně přídána i možnost přímého kreslení do obrazové paměti právě díky SSI, které sice neposkytuje nejzávratnější rychlost, ale pro Z-buffering by se pravděpodobně využít přece jen dal. Opravdový programátoři by tedy neměli váhat a ihned se na tento velmi pěkný produkt taktéž podívat.
Posledním produktem je shareware čěština, kterou snad najdete i na dnešním disku s Narsilem. HEAD