Vector General - Vector General

Vector General ( VG ) oli sarja grafiikkapäätteitä ja niitä tuottavan kalifornialaisen yrityksen nimi. Ne esiteltiin ensimmäisen kerran vuonna 1969 ja niitä käytettiin tietokonelaboratorioissa 1980 -luvun alkuun asti.

Terminaalit perustuivat yhteisen alustan että lukea vektorit , jonka isäntä minitietokonejärjestelmäinsinöörinä ja sisältyy laitteisto, joka voi suorittaa matemaattisia muunnoksia päätelaitteessa. Tämä paransi huomattavasti sellaisten toimintojen suorituskykyä, kuten kohteen pyöriminen tai zoomaus. Muunnetut vektorit näytettiin sitten päätelaitteen sisäänrakennetussa vektorinäytössä .

Toisin kuin muiden valmistajien vastaavat päätelaitteet, Vector General -järjestelmät sisälsivät vähän sisäistä muistia . Sen sijaan he tallensivat vektoreita isäntätietokoneen muistiin ja käyttivät niitä suoran muistin (DMA) kautta. Täysin varusteltu VG3D-päätelaite maksoi noin 31 000 dollaria, mukaan lukien halpa PDP-11- tietokone, verrattuna IBM 2250: n kaltaisiin koneisiin, jotka maksoivat 100 000 dollaria vain päätelaitteesta.

Tietokonegrafiikka-alalla tunnetuista tunnetuista käyttötavoista se oli VG3D-päätelaite, joka oli kytketty PDP-11/45: een ja jota käytettiin tuottamaan "hyökkäävä Kuolemantähti ei tule olemaan helppo" -animaatioita Tähtien sodassa .

Kuvaus

Laitteisto

Yhteinen yritys 1960-luvun lopulla suorituskyvyn parantamiseksi graafinen näyttö, erityisesti 3D-, oli käyttää erityisiä päätelaitteita, jotka järjestetään luettelon vektoreita sisäisessä muistissa ja sitten käytetään laitteiston tai ohjelmiston käynnissä näytönohjain toimittamaan perustiedot muunnoksia, kuten kierto ja skaalaus. Koska nämä muunnokset olivat suhteellisen yksinkertaisia, ne voitaisiin toteuttaa päätelaitteessa suhteellisen alhaisilla kustannuksilla, jolloin vältytään käyttämästä aikaa isäntäprosessorilla näiden toimintojen suorittamiseen. Järjestelmiä, jotka suorittavat ainakin osan näistä toiminnoista, olivat IDI, Adage ja Imlac PDS-1 .

Keskeinen innovaatio VG -sarjan päätelaitteissa oli suoran muistin (DMA) käyttö, jotta se voi käyttää isäntätietokoneen muistia. Tämä tarkoitti sitä, että päätelaitteet eivät tarvinneet paljon omaa tallennustilaa ja antoivat heille mahdollisuuden päästä nopeasti käsiksi tietoihin kopioimatta niitä hitaamman linkin kautta, kuten sarjapohjainen Tektronix 4010 tai vastaava järjestelmä. Tämän lähestymistavan haittapuoli on, että sitä voitaisiin käyttää vain koneissa, jotka tarjosivat DMA: ta, ja vain suhteellisen kalliin sovittimen kautta.

Perusajatuksena oli, että isäntätietokone suorittaa laskutoimituksia tuottaakseen pisteitä 2D- tai 3D-mallille ja ilmaisee sen 12-bittisinä arvoina, jotka tallennetaan normaalisti 16-bittisiin sanoihin ylimääräisten täytettyjen tilabittien kanssa. Päätelaite keskeyttäisi silloin tällöin tietokoneen, 30–60 kertaa sekunnissa, ja lukisi ja näyttäisi tiedot nopeasti. Jokainen piste luettiin yksitellen paikallisiin muistirekistereihin väliaikaista tallennusta varten, kun taas niihin sovellettiin matemaattisia funktioita skaalaamiseen, kääntämiseen ja (valinnaisesti) kiertämiseen, ja kun lopulliset arvot laskettiin, nämä pisteet lähetettiin katodisäteelle putki (CRT) näyttöä varten.

Koordinaattimuunnoslaitteistoa oli kolme eri mallia. Perusjärjestelmään sisältyi 2D -kuvien panorointiin ja zoomaukseen tarvittava laitteisto, jolloin sitä sisältävä pääte tunnetaan Vector General 2D: nä. Toinen versio lisäsi mahdollisuuden kääntää 2D -kuvaa mielivaltaisen pisteen ympäri, joka tunnetaan nimellä 2DR (for Rotate). Kallein vaihtoehto oli 3D, joka tarjosi 3D -vektorien kiertoa, panorointia ja zoomausta. Toinen vaihtoehto, joka voitaisiin lisätä mihin tahansa näistä malleista eikä näkynyt nimessä, lisäsi merkkigeneraattorin .

Neliönmuotoiset CRT: t ajettiin suoraan muunnoslaitteiston lähdöstä sen sijaan, että ne näytettäisiin käyttämällä perinteistä rasteriskannausmenetelmää . Yritys viittasi tämän tyyppiseen operaatioon "satunnaiskannauksena", vaikka sitä kutsutaan yleisesti vektorinäytöksi nykyaikaisissa viitteissä. Saatavilla oli kaksi CRT -perusmallia, joiden mitat olivat 17 tuumaa (430 mm) ja 21 tuumaa (530 mm). 21 tuuman malli oli saatavana myös erityisenä "nopeana" versiona, joka paransi vetonopeutta. CRT: t käyttivät sähkömagneettista taipumaa, ei magneettista kuin televisioissa, nopean skannaustehon aikaansaamiseksi.

Järjestelmään voidaan liittää useita erilaisia ​​syöttölaitteita. Yleisin oli 70- näppäiminen näppäimistö , kun taas toiset sisälsivät hetkellisen painikekytkimen, jossa oli sisäiset rekisteriohjatut valot, grafiikka-tabletti , valokynä , valintaruutu ja ohjaussauva . Koko järjestelmä oli melko suuri, noin pienen jääkaapin kokoinen .

Piirustuksen käsitteet

Vektorit esitettiin loogisesti kahdella avaruuden päätepisteellä. Kukin piste määriteltiin kahdella tai kolmella 12-bittisellä arvolla, mikä edustaa tilaa 0-4 095 X: ssä, Y: ssä ja (valinnaisesti) Z: ssä. Päätelaitteessa oli kolme 12-bittistä rekisteriä arvojen säilyttämiseksi niiden käsittelyn aikana.

Järjestelmä mahdollisti vektoreiden esittämisen monin tavoin muistissa. Perusmuoto, "absoluuttinen", vaati kaksi pistettä, yhden vektorin kumpaankin päähän. "Suhteelliset" vektorit ilmaistiin poikkeamina viimeisestä arvojoukosta, joten vektorin määrittämiseen tarvittiin vain yksi piste, ja ensimmäinen piste oli viimeisen päätepiste. Tämä voi puolittaa täydellisen piirustuksen kuvaamiseen tarvittavien pisteiden määrän, jos tiedot olivat jatkuvia kuten viivakaavio . "Inkrementaaliset" vektorit vähentävät edelleen muistia käyttämällä vain 6-bittisiä kullekin pisteelle, jolloin tiedot voidaan pakata vähemmän muistiin isännässä. Järjestelmä voitaisiin asettaa lisäämään arvot viimeisen arvon korkean tai matalan kertaluvun 6 bittiin, mikä mahdollistaa brutto- tai hienoliikkeen. Lopuksi, "autoincrementing" -vektorit vähensivät edelleen muistivaatimuksia vaatimalla vain yhden arvon tallentamista, ja muita lisättiin ennalta määrätyllä määrällä, kun jokainen uusi piste luettiin sisään. Nämä olivat samanlaisia ​​kuin suhteelliset vektorit, joilla oli toinen kahdesta akselista suhteellinen poikkeama on aina sama. Järjestelmässä oli myös erillinen piiri ympyräkaarien luomiseksi, toisin kuin sen, että pisteitä oli lähetettävä.

Näyttö pystyi tuottamaan 32 eri voimakkuustasoa. Tämä voidaan ohjelmoida suoraan asettamalla rekisteri päätteeseen, mutta sitä käytettiin yleisemmin 3D -ohjelmoidussa tilassa. Tässä tilassa voimakkuutta muutettiin automaattisesti vektorin piirtämisen aikana, jolloin Z -ulottuvuuksien syvemmät kohteet piirtyivät vähemmän voimakkaiksi. Tämä tuotti syvyysviivan, joka sai esineen etupuolen näyttämään kirkkaammalta näytöllä. Muutoksen nopeus määritettiin ISR -rekisterin kautta.

Erillinen 12-bittinen PS-rekisteri piti asteikkokertoimen. Kun tätä arvoa ei käytetty, koordinaattijärjestelmä edusti fyysistä aluetta, joka oli noin kaksi kertaa suurempi kuin näyttö, jolloin se pystyi kääntämään kuvan vieritettäväksi. Kun arvo sijoitettiin tähän rekisteriin, vektorirekisterien ja merkkien piirtojärjestelmän koordinaatit kerrottiin tällä arvolla, mikä tuotti zoomaustehosteen.

Valinnainen merkkigeneraattori piirsi merkkejä käyttämällä viittä laitteistomääritettyä muotoa, ympyrää, neliötä, jonka keskellä on pystysuora viiva, neliötä, jossa on vaakasuora viiva, ja tiimalasimuotoja, jotka on suunnattu pystysuoraan ja vastaavaa vaakasuuntaista . Kytkemällä palkin päälle ja pois päältä, kun laitteisto piirtää jokaisen näistä muodoista, järjestelmä pystyi piirtämään tarvittavat merkit. Esimerkiksi kirjain C piirrettiin käyttämällä O -muotoa ja kääntämällä palkki pois, kun se oli oikealla. Kirjain D piirrettäisiin käyttämällä O-muotoa ja sammuttamalla se, kun se oli vasemmalla, ja piirtämällä sitten pystysuoran viivalaatikon, jossa palkki on päällä vain, kun keskimmäistä pystysuoraa palkkia piirrettiin. Täydellisen hahmon tuottamiseksi tarvitaan yhdestä kolmeen tällaista "tasapeliä". Järjestelmä sisälsi useita kreikkalaisia ​​kirjaimia ja matemaattisia symboleja tavallisten ASCII -merkkien lisäksi.

Ohjelmointi

Päätelaite lukee ajoittain isäntätietokoneen päämuistin näytön päivittämiseksi DMA: n avulla. Lisäviestintä hoidettiin yhden kaksisuuntaisen I/O -portin kautta sen jälkeen, kun oli luotu keskeytyspyyntö, jossa on pyynnön tiedot PIR -rekisterissä. Asetukset ja ohjeet käsiteltiin lähettämällä tietoja I/O -porttiin ja sieltä johonkin päätelaitteen 85 rekisteristä.

Isäntä voisi esimerkiksi asettaa PS -rekisterin arvon aiheuttaen kuvan zoomauksen. Se tekisi tämän kutsumalla keskeytyksen, jonka 16-bittinen viesti sisälsi asetettavan rekisterin numeron, tässä tapauksessa 17. Päätelaite vastaisi lähettämällä 16-bittisen viestin takaisin I/O-kanavan kautta. Kirjoituksia käsiteltiin samankaltaisella prosessilla, mutta päätelaite vastasi keskeytykseen lukemalla arvon.

Perusosoite vektoriluettelon alkamiselle ja sen sisällä oleva siirtymä olivat rekistereissä 14 ja 15. Tämä mahdollisti näytön suorittaa eräänlaisen "sivun kääntämisen" kirjoittamalla erilliset pistejoukot tietokoneen muistiin ja muuttamalla sitten näyttää kaikki kerralla muuttamalla rekisterin 14 arvon osoittamaan toiseen perusosoitteeseen. Tätä rajoitti isäntätietokoneessa käytettävissä oleva muisti.

Näyttöohjeissa oli erilaisia ​​muotoja, jotka mahdollistivat vektoreiden lisäksi myös erilaisten komentojen rakentamisen. Esimerkiksi oli ohjeita tietojen lataamiseksi tiettyyn rekisteriin, joka koostuu kahdesta 16-bittisestä sanasta, joista ensimmäinen sisältää rekisteritiedot ja seuraava arvo. Muut ohjeet suorittivat loogisen TAI tai JA rekisteriarvoille. Näyttöohjeet voidaan sekoittaa näihin toimintoihin, joten järjestelmä voi esimerkiksi alkaa näyttää valikoiman kohteita, saada lampun syttymään, kiertää kuvaa ja piirtää sitten lisää vektoreita.

Merkittäviä käyttötarkoituksia

VG3D on historiallisesti merkittävä Star Wars -käytössä , mutta se tunnetaan myös varhaisesta roolistaan tietokoneavusteisen suunnittelun kehittämisessä .

In Tähtien sota

Osa animaatiosta näyttää vektorigrafiikan ulostulon, joka on tallennettu filmille ja heijastettu sitten takaisin kohtaukseen kuvaamisen aikana.

Larry Cuba tuotti kaksi segmenttiä tietokoneanimaatiota Star Warsille PDP-11/45-laitteella, jossa oli VG3D-pääte. Kuvien kuvaamiseksi kuva kerrallaan yksi painikepaneelin valojen ja kameran laukaisimen väliin oli kytketty johto. Isäntätietokone laukaisi tämän, jolloin kamera vapautti sulkimen kerran ja edisti elokuvaa yhden kuvan.

Ensimmäinen segmentti, joka näyttää Death Starin ulkoasun , perustuu kokonaan VG3D: n sisäisiin näyttöominaisuuksiin. Mallin koostui yksinkertainen sarja 3D pistettä edustavat ääriviivat aseman pidettiin PDP-11: n muisti, rakennettu algoritmisesti niihin liittyvän GRASS ohjelmointikieli n käyrä luontikoodi. Jos haluat siirtää ja kiertää kuvaa elokuvan mukaisesti, siihen liittyvä GRASS -ohjelma lataa uudet kierto- ja zoomausluvut päätelaitteen rekistereihin ja käynnistää sitten kameran.

Toisessa osassa näkyy näkymä, joka lentää kaivossa alas viimeisessä hyökkäyksessä, ensin ylhäältä ja sitten lentäjän näkökulmasta. Tämän luominen oli paljon vaikeampaa, koska päätelaite ei tue tässä järjestyksessä vaaditun perspektiivin laskemista. Kuvaamisen aikana käytetty kaivannon fyysinen malli koostui kuuden ominaisuuden sarjasta, jotka toistettiin monta kertaa ja koottiin sitten eri tavoilla yhden 12 metrin pituisen mallin tuottamiseksi. Kuuba digitoi kaikki nämä kuusi ominaisuutta valokuvista ja yhdisti ne sitten eri kokoonpanoissa yli 50 U-muotoiseksi osaksi. Kullekin kehykselle viisi näistä osista pinottiin syvälle ja sitten sovellettiin perspektiivilaskelmia. Uusien osioiden lisääminen animaation edetessä näkyy elokuvassa. Tämä lähetettiin sitten terminaaliin staattisena kuvana ja kamera laukaistiin. Kukin kehys kesti noin kaksi minuuttia.

Yhdysvaltain armeijassa

Mike Muuss (istuu) käytti tässä nähtyä PDP-11 /70: tä ja Vector General 3D: tä tehdäkseen pyörivän kuvan XM-1-säiliöstä . Tämä aiheutti suurta kohua armeijan messinkien keskuudessa, jotka viettivät seuraavat kaksi viikkoa vaatien demoja.

Mike Muuss recounts että US Army : n ballististen Research Laboratory oli hankittu Cyber 173 ja kolme työasemaa koostuu VG3D päätelaitteen ja PDP-11/34 ajaa sitä. Nämä oli tarkoitus yhdistää toisiinsa, mutta kukaan ei saanut tätä toimimaan, ja lopulta VG -työasemat jäivät käyttämättä. Hän oli vaivautunut näkemään kaiken tämän laitteiston hukkaan, joten vuonna 1979 hän kytki yhden työasemista ja loi ohjelman, joka tuotti pyörivän 3D -kuution.

Toiselle ohjelmoijalle oli annettu joukko 3D -pisteitä XM1 -säiliön suunnittelusta ja hän kirjoitti koodin sen lähettämiseksi Calcomp -plotterille . Hän kysyi Muussilta, voisivatko ne sen näyttää VG -terminaaleissa, jotta he voisivat kiertää sitä. Hän lähetti sen ensin staattisena kuvana Tektronix 4014 -laitteessa, mutta seuraavana yönä onnistui saamaan näyttö VG3D: lle, jossa sitä voitiin helposti kiertää käyttämällä sisäistä vektorilaitteistoa.

Kukaan armeijassa ei ollut aiemmin nähnyt mitään tällaista. Seuraavana päivänä ARRADCOMin komentaja kenraali lensi katsomaan sitä livenä. Seuraavien kahden viikon aikana Muuss antoi jatkuvasti järjestelmän demoja upseerien paraatille. Demo tuli niin tunnetuksi, että Muuss pystyi aloittamaan BRL-CAD: n kehittämisen .

Huomautuksia

Viitteet

Lainaukset

Bibliografia

Ulkoiset linkit

Katso myös