Vector General - Vector General

Vector General (VG) byla série grafické terminály a název kalifornské společnosti, která je vyráběla. Poprvé byly představeny v roce 1969 a byly používány v počítačových laboratořích až do začátku 80. let.

Terminály byly založeny na společné platformě, která četla vektory poskytované hostitelem minipočítač a zahrnoval hardware, který mohl v terminálu provádět základní matematické transformace. Tím se výrazně zlepšil výkon operací, jako je otáčení objektu nebo přiblížení. Transformované vektory se poté zobrazily na vestavěném terminálu vektorový monitor.

Na rozdíl od podobných terminálů od jiných dodavatelů zahrnovaly systémy Vector General málo interních Paměť. Místo toho ukládali vektory do paměti hostitelského počítače a přistupovaly k nim přes přímý přístup do paměti (DMA). Plně vybavené terminály VG3D běžely na zhruba 31 000 $ včetně low-endu PDP-11 počítač,[1] ve srovnání se stroji jako IBM 2250 což stálo 100 000 $ jen za terminál.[2][A]

Mezi řadou slavných použití známých v oblasti počítačové grafiky to byl terminál VG3D připojený k PDP-11/45 který byl použit k výrobě animací „útok na hvězdu smrti nebude snadný“ Hvězdné války.[4][5]

Popis

Hardware

Běžným pokusem na konci 60. let o zlepšení výkonu grafického displeje, zejména ve 3D, bylo použití speciálních terminálů, které obsahovaly seznam vektory v interní paměti a poté použit hardware nebo software spuštěný v systému Windows řadič displeje poskytnout základní transformace, jako je rotace a změna měřítka. Protože tyto transformace byly relativně jednoduché, mohly být implementovány v terminálu za relativně nízké náklady, a tak se vyhnout trávení času na hostitelském CPU za účelem provádění těchto operací. Systémy provádějící alespoň některé z těchto operací zahrnovaly IDI, Adage a Imlac PDS-1.[6]

Klíčovou novinkou v terminálech řady VG bylo použití přímý přístup do paměti (DMA), která mu umožní přístup do paměti hostitelského počítače. To znamenalo, že terminály nepotřebovaly příliš mnoho vlastního úložiště a poskytly jim možnost rychlého přístupu k datům, aniž by byla kopírována přes pomalejší odkaz, jako je sériový Tektronix 4010 nebo podobné systémy.[7] Nevýhodou tohoto přístupu je, že jej bylo možné použít pouze na strojích, které nabízejí DMA, a to pouze prostřednictvím relativně nákladného adaptéru.[b]

Základní koncept spočíval v tom, že hostitelský počítač provede výpočty, aby vytvořil řadu bodů pro 2D nebo 3D model a vyjádřil to jako 12bitové hodnoty, obvykle uložené v 16bitových slovech s extra plněné stavové bity. Terminál by pak počítač periodicky přerušoval, 30 až 60krát za sekundu,[8] a rychle načíst a zobrazit data.[9] Každý bod byl čten jeden po druhém do místního paměťové registry pro dočasné uložení, zatímco matematické funkce byly na ně aplikovány pro měřítko, překlad a (volitelně) otáčení, a když byly vypočítány konečné hodnoty, byly tyto body odeslány do katodová trubice (CRT) pro zobrazení.[9]

Byly tam tři různé modely hardwaru pro transformaci souřadnic. Nejzákladnější systém zahrnoval hardware potřebný k posouvání a zvětšování 2D obrázků, v takovém případě by terminál, který jej obsahuje, byl znám jako Vector General 2D. Další verze přidala možnost otáčet 2D obraz kolem libovolného bodu, známého jako 2DR (pro Rotate). Nejdražší možností bylo 3D, které poskytovalo rotaci, posouvání a přiblížení 3D vektorů. Další možnost, kterou bylo možné přidat k některému z těchto modelů a která se nepromítla do názvu přidaného a generátor znaků.[10]

Čtvercové CRT byly poháněny přímo z výstupu transformačního hardwaru, na rozdíl od zobrazení pomocí tradičního rastrové skenování metoda.[9] Společnost označila tento typ operace jako „náhodné skenování“,[8] ačkoli to je všeobecně označováno jako a vektorový monitor v moderních referencích. K dispozici byly dva základní modely CRT s úhlopříčkou 17 palců (430 mm) a 21 palců (530 mm). 21palcový model byl k dispozici také ve speciální „vysokorychlostní“ verzi, která zlepšila rychlost kreslení. CRT používaly k zajištění vysokorychlostního skenovacího výkonu elektromagnetické vychýlení, nikoliv magnetické jako v televizorech.[11]

K systému lze připojit několik různých vstupních zařízení. Nejběžnější byl 70 kláves klávesnice zatímco ostatní zahrnovaly banku okamžitých tlačítkových spínačů s vnitřními světly ovládanými registrem, a grafický tablet, a světelné pero, a číselník a joystick.[12] Systém jako celek byl poměrně velký, přibližně malý lednička.[13]

Kreslení konceptů

Vektory byly logicky reprezentovány dvěma koncovými body v prostoru. Každý bod byl definován dvěma nebo třemi 12bitovými hodnotami, což představuje prostor od 0 do 4095 v X, Y a (volitelně) Z.[11] Terminál měl tři 12bitové registry, které uchovávaly hodnoty, když byly manipulovány.[14]

Systém umožňoval, aby byly vektory v paměti zastoupeny mnoha způsoby. Nejzákladnější režim, „absolutní“, vyžadoval dva body, jeden pro každý konec vektoru.[15] „Relativní“ vektory byly vyjádřeny jako posuny od poslední sady hodnot, takže k definici vektoru byl zapotřebí pouze jeden bod, přičemž první bod byl koncovým bodem poslední. To by mohlo snížit počet bodů potřebných k popisu úplného výkresu na polovinu, pokud by data byla spojitá jako a spojnicový graf. "Inkrementální" vektory dále redukovaly paměť tím, že používaly pouze 6 bitů pro každý bod, což umožňovalo být data zabaleno do méně paměti v hostiteli. Systém by mohl být nastaven tak, aby přidával hodnoty k 6 bitům vysoké nebo nízké objednávky poslední hodnoty, což umožňuje hrubý nebo jemný pohyb. Nakonec vektory „autoincrementace“ dále snížily požadavky na paměť tím, že vyžadovaly uložení pouze jedné hodnoty, přičemž ostatní byly zvýšeny o přednastavenou částku při načtení každého nového bodu. Byly podobné relativním vektorům s jednou ze dvou os vždy se stejným relativním posunem.[16] Systém měl také samostatný obvod pro generování kruhových oblouků, na rozdíl od nutnosti posílat řadu bodů.[17]

Displej byl schopen produkovat 32 různých úrovní intenzity. To bylo možné naprogramovat přímo nastavením registru v terminálu, ale častěji se to používalo v naprogramovaném režimu ve 3D. V tomto režimu byla intenzita automaticky měněna při kreslení vektoru, přičemž položky hlubší v dimenzích Z byly vykresleny méně intenzivně. Tak vzniklo hloubkové vodítko, díky kterému bude přední část objektu na displeji vypadat jasněji. Rychlost této změny byla nastavena prostřednictvím registru ISR.[18]

Samostatný 12bitový registr PS držel měřítkový multiplikátor. Když tato hodnota nebyla použita, souřadnicový systém představoval fyzickou oblast přibližně dvakrát tak velkou jako obrazovka, což mu umožnilo přeložit obraz a zajistit posouvání. Když byla do tohoto registru vložena hodnota, souřadnice ve vektorových registrech a v systému kreslení znaků byly vynásobeny touto hodnotou, čímž vznikl efekt zvětšení.[19]

Volitelný generátor znaků kreslil znaky pomocí sady pěti hardwarově definovaných tvarů, kruhu, čtverce se svislou čárou uprostřed, čtverce s vodorovnou čárou uprostřed a tvarů přesýpacích hodin orientovaných svisle a podobného vodorovně orientovaného . Zapínáním a vypínáním paprsku, když každý z těchto tvarů kreslil hardware, mohl systém nakreslit libovolný požadovaný znak. Například písmeno C bylo nakresleno pomocí tvaru O a vypnutím paprsku, zatímco byl vpravo. Písmeno D by bylo nakresleno pomocí tvaru O a jeho vypnutím, zatímco by bylo vlevo, a následným nakreslením pole se svislou čarou se zapnutým paprskem, pouze když byla nakreslena střední svislá čára. Mezi jedním a třemi takovými „tahy“ je zapotřebí k vytvoření úplné postavy.[20] Systém zahrnoval kromě normálu i řadu řeckých písmen a matematických symbolů ASCII postavy.[21]

Programování

Terminál pravidelně čte hlavní paměť hostitelského počítače pomocí DMA, aby obnovil displej. Další komunikace byla řešena prostřednictvím jednoho obousměrného I / O portu[9] po vytvoření požadavku na přerušení s podrobnostmi požadavku v registru PIR.[22] Nastavení a pokyny byly zpracovány odesláním dat do a z I / O portu do jednoho z 85 registrů terminálu.[14]

Hostitel mohl například nastavit hodnotu registru PS, což způsobilo zvětšení obrazu. Bylo by to provedeno voláním přerušení, jehož 16bitová zpráva obsahovala číslo registru, který má být nastaven, v tomto případě 17. Terminál by odpověděl odesláním 16bitové zprávy zpět přes I / O kanál. Zápisy byly zpracovány pomocí podobného procesu, ale terminál reagoval na přerušení čtením hodnoty místo.[23]

Základní adresa pro začátek seznamu vektorů a offset v něm byly v registrech 14 a 15.[14] To umožnilo displeji provádět jakési „převracení stránky“ tím, že v paměti počítače vypisovalo samostatné sady bodů a poté změnilo zobrazení najednou změnou hodnoty registru 14 tak, aby ukazovala na jinou základní adresu. To bylo omezeno množstvím paměti dostupné v hostitelském počítači.[24]

Pokyny k zobrazení měly celou řadu formátů, které umožňovaly konstrukci nejen vektorů, ale také různých příkazů. Například existovaly pokyny pro načtení dat do daného registru, skládající se ze dvou 16bitových slov, první s podrobnostmi registru a další s hodnotou. Další instrukce prováděly logické OR nebo AND na hodnotách registru. Samotné pokyny k zobrazení lze smíchat s těmito operacemi, takže systém může například začít zobrazovat výběr položek, způsobit rozsvícení lampy, otočit obraz a poté nakreslit více vektorů.[25]

Pozoruhodná použití

VG3D je historicky pozoruhodný pro jeho použití v Hvězdné války, ale je také dobře známý svou ranou rolí ve vývoji počítačem podporovaný design.

Ve hvězdných válkách

Část animace ukazuje výstup vektorové grafiky zachycený na film a poté zpětně promítnutý do scény během natáčení.

Larry Kuba vytvořil dva segmenty počítačové animace pro Hvězdné války na PDP-11/45 s terminálem VG3D. K natáčení snímků snímek po snímku byl mezi jeden ze světel na tlačítkovém panelu a spouště na fotoaparátu připojen vodič. To bylo spuštěno hostitelským počítačem, což způsobilo, že fotoaparát jednou uvolnil závěrku a posunul film o jeden snímek.[26][27]

První segment, který ukazuje exteriér modelu Mrtvá hvězda, je zcela založen na schopnostech interního displeje VG3D. Model se skládal z jednoduché série 3D bodů představujících obrys stanice držené v paměti PDP-11, konstruovaný algoritmicky pomocí přidruženého GRASS programovací jazyk kód pro generování křivky. Chcete-li pohybovat a otáčet obraz, jak je vidět na filmu, přidružený program GRASS načte nové rotační a zvětšovací údaje do registrů terminálu a poté spustí kameru.[26]

Druhý segment ukazuje pohled letící dolů příkopem v závěrečném útoku, nejprve shora a poté z pohledu pilota. To bylo mnohem obtížnější vytvořit, protože terminál nepodporoval výpočet perspektivy, který byl vyžadován v tomto pořadí. Fyzický model příkopu použitý během natáčení sestával ze série šesti prvků, které byly mnohokrát duplikovány a poté sestaveny různými způsoby, aby vznikl jediný model o délce 40 stop (12 m). Kuba digitalizovala každou z těchto šesti funkcí z fotografií a poté je spojila v různých konfiguracích do více než 50 částí ve tvaru písmene U. Pro každý snímek bylo pět z těchto sekcí naskládáno do hloubky a poté byly použity perspektivní výpočty. Přidávání nových sekcí v průběhu animace lze vidět ve filmu. Ten byl poté odeslán do terminálu jako statický obraz a byla spuštěna kamera. Vykreslení každého snímku trvalo asi dvě minuty.[28]

V armádě

Mike Muuss (sedící) použil PDP-11 / 70 a Vector General 3D zde vidět, aby se otočný obraz Nádrž XM-1. To způsobilo velký rozruch mezi armádními mosazi, kteří strávili další dva týdny náročnými ukázkami.

Mike Muuss líčí, že Americká armáda je Balistická výzkumná laboratoř koupil a Cyber ​​173 a tři pracovní stanice skládající se z terminálu VG3D a PDP-11/34, které jej řídí. Měly být spojeny dohromady, ale nikdo to nedokázal dostat do práce a nakonec zůstaly pracovní stanice VG nevyužité. Vadilo mu vidět, jak se veškerý tento hardware plýtvá, a tak v roce 1979 zapojil jednu z pracovních stanic a vytvořil program, který vytvořil rotující 3D krychli.[29]

Další programátor dostal sadu 3D bodů Nádrž XM1 design a psal kód pro výstup do a Plotter Calcomp. Zeptal se Muusse, zda by místo toho mohli zobrazit na terminálech VG, aby to mohli otáčet. Nejprve jej vydal jako statický obraz na a Tektronix 4014, ale příští noc se podařilo dostat displej na VG3D, kde by jej bylo možné snadno otočit pomocí interního vektorového hardwaru.[30]

Nikdo z armády nic takového ještě neviděl. Následujícího dne velící generál ARRADCOM přiletěl, abych to viděl naživo. Během příštích dvou týdnů Muuss neustále předváděl ukázky systému na přehlídku důstojníků.[30] Demo se stalo tak známým, že Muuss mohl zahájit vývoj BRL-CAD.[31]

Poznámky

  1. ^ Pozdější modely, jako je IBM 2250 Model III, mohly ovládat až čtyři terminály, takže cena za terminál se blížila k 65 000 USD plus hostitel.[3]
  2. ^ Přestože příručka uvádí, že „jakýkoli“ počítač lze použít s příslušným adaptérem, všechny odkazy třetích stran uvádějí pouze používaný PDP-11.

Reference

Citace

  1. ^ Phillips 1978, str. C.24.
  2. ^ Weisberg 2008, str. 13-8–13-9.
  3. ^ Weisberg 2008, str. 13-9.
  4. ^ Sweet 1981.
  5. ^ Borrelli 2017.
  6. ^ Peddie 2013, str. 316.
  7. ^ Odkaz 1972, str. 1-1, 1–3.
  8. ^ A b Odkaz 1972, str. 1-4.
  9. ^ A b C d Odkaz 1972, str. 1-3.
  10. ^ Odkaz 1972, str. 1-1.
  11. ^ A b Odkaz 1972, str. 1-7.
  12. ^ Odkaz 1972, str. 1-2.
  13. ^ Borrelli 2017, str. Zobrazit obrázky ...
  14. ^ A b C Odkaz 1972, str. 3-3.
  15. ^ Odkaz 1972, str. 1-14.
  16. ^ Odkaz 1972, str. 1-16.
  17. ^ Odkaz 1972, str. 2-12.
  18. ^ Odkaz 1972, str. 1-23.
  19. ^ Odkaz 1972, str. 1-9–1-14.
  20. ^ Odkaz 1972, str. 1-20.
  21. ^ Odkaz 1972, str. 2-13.
  22. ^ Odkaz 1972, str. 3-4.
  23. ^ Odkaz 1972, str. 3-4–3-6.
  24. ^ Odkaz 1972, str. Dodatek B.
  25. ^ Odkaz 1972, str. 3-14–3-35.
  26. ^ A b Sweet 1981, str. 29.
  27. ^ DeFanti a Sandin 1981, str. 50.
  28. ^ Sweet 1981, str. 30.
  29. ^ Muuss 2000, str. 91.
  30. ^ A b Muuss 2000, str. 92.
  31. ^ "Přehled". BRL-CAD.

Bibliografie

externí odkazy