La grafica con
elaboratore si sta affermando e sviluppando con risultati di sempre più grande
interesse. Due sono stati, in Italia come nel resto del mondo, i filoni guida:
la progettazione assistita dall'elaboratore, il CAD e, più recentemente, i
videogiochi e le applicazioni creative che hanno esplorato i campi
dell'animazione e del realismo.
Per molti anni la
ricerca e le applicazioni lungo questi filoni hanno proceduto in modo molto
frammentato, dando origine a "scuole" e metodologie di approccio
assai differenziate. Si è così venuto a
costituire una sorta di intreccio tra case produttrici di periferiche e sistemi
grafici ed esperti di applicazioni. Come ben sottolineano gli autori, la
grafica è stato l'unico settore in cui la problematica della standardizzazione
dei linguaggi ha stentato ad affermarsi, e tutt'ora costituisce terreno di
studio e sviluppo di standard di linguaggio.
Una delle ragioni di ciò è senz'altro da ricondurre a quanto detto, che,
a sua volta, è conseguenza dell'enorme complessità delle problematiche
sollevate dalle applicazioni grafiche.
La grafica con
elaboratore è uno dei campi in cui tutte le problematiche dell'elaborazione dei
dati vengono stimolate, e per ciascuna si richiedono le soluzioni più avanzate
per raggiungere i migliori risultati di efficienza. La grafica si basa sulla elaborazione di enormi quantità di dati
con algoritmi di elevata complessità computazionale e che molto spesso agiscono
su numeri reali. A livello hardware ciò si ripercuote su esigenze di alta
velocità delle periferiche e nello stesso tempo della cpu, i processi in
questione richiedono enormi quantità di dati da elaborare sia in memoria centrale
sia su supporti di massa. A livello software, la logica delle elaborazioni
grafiche è tra le più complesse in quanto richiede lo studio di primitive
evolute, assai distanti dalle istruzioni elementari di un normale elaboratore.
La sfida che la
grafica ha aperto è stata affrontata con un continuo miglioramento delle
prestazioni di terminali e stazioni grafiche e con un continuo sviluppo di
linguaggi grafici sempre più ricchi e potenti.
Questo trend si è scontrato ormai da tempo con le esigenze più tipiche degli ambienti di produzione industriale di software. Le esigenze di portabilità, manutenibilità e di modificabilità del software grafico, si scontrano con la varietà dei dialetti e dei linguaggi di singole famiglie di terminali o sistemi grafici.
Lo sforzo fatto dal gruppo impegnato nella
definizione del GKS, possiede il merito di aver evidenziato in modo radicale
queste problematiche, avviando prime soluzioni ai classici problemi
dell'ingegneria del software grafico.
Non ritengo che il GKS costituisca la soluzione
globale ai problemi della grafica. Infatti questo standard si presenta come
eccezionalmente valido per una gamma di applicazioni classiche, ovvero per lo
sviluppo di sistemi grafici interattivi orientati tipicamente al CAD. Vi sono
tuttavia due aspetti che l'attuale versione del GKS non permette di affrontare:
uno riguarda la gestione di strutture di dati dotate di relazioni di tipo
gerarchico, l'altra riguarda le problematiche del "real-time" e della
sintesi di immagini realistiche. Lo standard GKS si scontra, in questo, con il
continuo arricchirsi di prestazioni nei sistemi e terminali grafici evoluti.
Ciò che si può prevedere nel prossimo futuro è la definizione di estensioni,
laddove GKS rimarrà una sorta di piattaforma per gli aspetti di base delle
applicazioni grafiche.
A.
GRANELLI
Milano, Novembre 1985