Vector General(VG )は、グラフィック端末のシリーズであり、それを製造したカリフォルニアの企業の名前です。1969年に初めて発売され、1980年代初頭までコンピュータラボで使用されていました。
これらの端末は、ホストとなるミニコンピュータから提供されるベクトルを読み込む共通プラットフォームをベースとしており、端末内で基本的な数学的変換を実行できるハードウェアを搭載していました。これにより、オブジェクトの回転や拡大といった操作のパフォーマンスが大幅に向上しました。変換されたベクトルは、端末に内蔵されたベクトルモニタに表示されます。
他のベンダーの類似端末とは対照的に、Vector Generalシステムは内部メモリをほとんど搭載していませんでした。代わりに、ベクトルをホストコンピュータのメモリに保存し、 DMA(ダイレクトメモリアクセス)を介してアクセスしていました。フル装備のVG3D端末は、ローエンドのPDP-11コンピュータを含めて約31,000ドルでした[1]。一方、 IBM 2250のような端末は、端末本体だけで100,000ドルもしました[2 ]。 [a]
コンピュータグラフィックス分野では、数多くの有名な用途が知られていますが、スターウォーズで「デススターへの攻撃は容易ではない」というアニメーションを作成するために使用されたのは、PDP-11/45に接続されたVG3D端末でした。[4] [5]
説明
ハードウェア
1960年代後半、特に3Dグラフィックス表示の性能向上を図る一般的な試みとして、内部メモリにベクトルリストを保持し、ディスプレイコントローラ内で動作するハードウェアまたはソフトウェアを用いて回転や拡大縮小といった基本的な変換処理を実行する特殊な端末が用いられた。これらの変換処理は比較的単純であったため、端末内で比較的低コストで実装することができ、ホストCPUでこれらの処理を実行する時間を節約できた。これらの処理の少なくとも一部を実行したシステムとしては、IDI、Adage、Imlac PDS-1などが挙げられる。[6]
VGシリーズ端末の重要な革新は、ホストコンピュータのメモリへのアクセスを可能にするダイレクトメモリアクセス(DMA)の採用でした。これにより、端末は大量のストレージを必要とせず、シリアルベースのTektronix 4010などの低速リンクを介してデータをコピーすることなく、迅速にデータにアクセスできるようになりました。[7]このアプローチの欠点は、DMA機能を備えたマシンでしか使用できず、しかも比較的高価なアダプタを介してしか使用できないことです。[b]
基本的な概念は、ホストコンピュータが計算を実行して2Dまたは3Dモデルの点列を生成し、それを12ビット値として表現するというものでした。この値は通常、追加のステータスビットを含む16ビットワードで保存されます。端末は定期的にコンピュータに割り込み(1秒間に30~60回)[8]、データを高速に読み出して表示します。[9]各点はローカルメモリレジスタに1つずつ読み込まれ、一時的に保存されます。その間、数学関数が適用され、スケール、移動、(オプションで)回転が行われます。最終的な値が計算されると、それらの点はブラウン管(CRT)に送信され、表示されます。[9]
座標変換ハードウェアには3つの異なるモデルがありました。最も基本的なシステムには、2D画像のパンとズームに必要なハードウェアが含まれており、その場合、それを搭載した端末はVector General 2Dと呼ばれます。別のバージョンでは、任意の点を中心に2D画像を回転させる機能が追加されており、2DR(Rotateの略)と呼ばれています。最も高価なオプションは3Dで、3Dベクトルの回転、パン、ズーム機能を提供しました。これらのモデルすべてに追加可能で、名前には反映されていないもう1つのオプションは、文字ジェネレータです。[10]
正方形のCRTは、従来のラスタースキャン方式ではなく、変換ハードウェアの出力から直接駆動されました。 [9]同社はこの方式を「ランダムスキャン」と呼んでいましたが、[8]現代の文献では一般的にベクターモニターと呼ばれています。CRTは、対角17インチ(430mm)と21インチ(530mm)の2種類の基本モデルが用意されていました。21インチモデルには、描画速度を向上させる特別な「高速」バージョンも用意されていました。CRTは、テレビのような磁気ではなく、電磁偏向を利用して高速スキャン性能を実現しました。[11]
システムには様々な入力デバイスを接続できました。最も一般的なのは70キーのキーボードでしたが、その他には、内部レジスター制御のライトを備えたモーメンタリープッシュボタンスイッチ、グラフィックタブレット、ライトペン、ダイヤルボックス、ジョイスティックなどもありました。[12]システム全体はかなり大きく、小型冷蔵庫ほどの大きさでした。[13]
描画コンセプト
ベクトルは空間上の2つの端点によって論理的に表現されました。各点は2つまたは3つの12ビット値で定義され、X、Y、および(オプションで)Zの0から4,095までの空間を表します。[11]端末には、操作中の値を保持するための12ビットレジスタが3つありました。[14]
このシステムでは、ベクトルをメモリ上で様々な方法で表現することができました。最も基本的なモードである「絶対」では、ベクトルの両端にそれぞれ1つずつ、計2つの点が必要でした。[15]「相対」ベクトルは、最後の値セットからのオフセットとして表現されるため、ベクトルを定義するには1つの点のみが必要で、最初の点は最後の点の終点となります。データが折れ線グラフのように連続している場合、これにより完全な描画を記述するために必要な点数を半分に減らすことができます。「増分」ベクトルは、各点に6ビットのみを使用することでメモリをさらに削減し、ホストのメモリ容量を削減します。システムは、値を最後の値の上位6ビットまたは下位6ビットに加算するように設定できるため、大まかな移動または細かい移動が可能です。最後に、「自動増分」ベクトルは、1つの値のみを保存すればよく、他の値は新しい点が読み込まれるたびに設定された量だけ増分されるため、メモリ要件をさらに削減します。これらは相対ベクトルに似ており、2つの軸のうちの1つは常に同じ相対オフセットを持ちます。[16]このシステムには、一連の点を送信するのではなく、円弧を生成するための別の回路もありました。[17]
このディスプレイは32段階の輝度レベルを生成できました。これは端末のレジスタを設定することで直接プログラムすることもできましたが、3Dではプログラムモードでの使用がより一般的でした。このモードでは、ベクトルが描画されるにつれて輝度が自動的に変化し、Z軸の奥にあるものは輝度が低く描画されました。これにより奥行き感が生まれ、ディスプレイ上で物体の前面がより明るく見えるようになります。この変化の速さはISRレジスタによって設定されました。[18]
独立した12ビットのPSレジスタには、スケール乗数が保持されていました。この値が使用されていない場合、座標系は画面の約2倍の物理領域を表し、画像を移動させてスクロールを可能にします。このレジスタに値がセットされると、ベクトルレジスタと文字描画システムの座標にこの値が乗算され、ズーム効果が生成されます。[19]
オプションの文字ジェネレータは、ハードウェア定義の5つの図形(円、中央に縦線のある正方形、中央に横線のある正方形、縦向きの砂時計、そして同様の横向きの砂時計)を用いて文字を描画しました。これらの図形がハードウェアによって描画される際にビームをオン/オフすることで、システムは必要な文字を描画できました。例えば、文字CはOの図形を用いて描画され、右側にある間はビームをオフにします。文字DはOの図形を用いて描画され、左側にある間はビームをオフにし、中央の縦線が描画される時のみビームをオンにして縦線のボックスを描画します。このような「描画」を1回から3回行うことで、完全な文字が生成されます。[20]システムには、通常のASCII文字に加えて、多数のギリシャ文字と数学記号が含まれていました。[21]
プログラミング
端末はDMAを用いてホストコンピュータのメインメモリを定期的に読み取り、表示を更新した。その後の通信は、 PIRレジスタ[22]に要求の詳細を格納した割り込み要求を生成した後、単一の双方向I/Oポート[9]を介して処理された。設定と命令は、I/Oポートと端末の85個のレジスタの1つとの間でデータを送受信することによって処理された。[14]
例えば、ホストはPSレジスタの値を設定して画像を拡大することができます。これは、設定するレジスタ番号(この場合は17)を含む16ビットメッセージを持つ割り込みを呼び出すことで実行されます。端末はI/Oチャネルを介して16ビットメッセージを送り返して応答します。書き込みも同様のプロセスで処理されますが、端末は割り込みに対して値を読み取ることで応答します。[23]
ベクトルリストの先頭のベースアドレスとそのオフセットは、レジスタ14と15に格納されていました。[ 14 ]これにより、ディスプレイはコンピュータのメモリ内に別々のポイントセットを書き出し、レジスタ14の値を別のベースアドレスに変更することで、ディスプレイを一度に変更することで、一種の「ページフリップ」を実行できました。これは、ホストコンピュータで利用可能なメモリ量によって制限されていました。[24]
表示命令には多様なフォーマットがあり、ベクターだけでなく様々なコマンドも構築可能でした。例えば、特定のレジスタにデータをロードする命令は、2つの16ビットワードで構成され、最初のワードはレジスタの詳細、次のワードは値で構成されていました。他の命令は、レジスタ値に対して論理和または論理積を計算しました。表示命令自体もこれらの操作と組み合わせることができ、例えば、システムは選択した項目の表示を開始し、ランプを点灯させ、画像を回転させ、さらにベクターを描画するといった操作を実行できました。[25]
注目すべき用途
VG3D は歴史的にはスターウォーズでの使用で有名ですが、コンピュータ支援設計の開発における初期の役割でもよく知られています。
でスターウォーズ

ラリー・キューバは、 VG3D端末を備えたPDP-11/45で『スター・ウォーズ』のコンピュータアニメーション2作品を制作した。フレームごとに画像を撮影するために、プッシュボタンパネルのライトの1つとカメラのシャッタートリガーの間に配線が接続された。ホストコンピュータからのトリガーにより、カメラはシャッターを1回切り、フィルムを1フレーム分送った。[26] [27]
デス・スターの外観を示す最初のセグメントは、VG3Dの内部表示機能のみに基づいています。モデルは、PDP-11のメモリに保持されたステーションの輪郭を表す単純な3D点群で構成されており、関連するGRASSプログラミング言語の曲線生成コードを用いてアルゴリズム的に構築されています。映画で見られるように画像を移動および回転させるには、関連するGRASSプログラムが新しい回転およびズーム値を端末のレジスタにロードし、カメラをトリガーします。[26]
2番目のシーンは、最終攻撃で塹壕を飛行する様子を映し出しており、最初は上空から、次にパイロットの視点から描かれている。このシーンの作成は、端末が遠近法の計算をサポートしていなかったため、はるかに困難を極めた。このシーンに必要な遠近法の計算は端末でサポートされていなかった。撮影に使用された塹壕の物理モデルは、6つの地形から構成されており、これらを何度も複製し、様々な方法で組み立てて、長さ40フィート(約12メートル)の単一のモデルを作成した。キューバは、これら6つの地形をそれぞれ写真からデジタル化し、異なる構成で50以上のU字型のセクションに組み合わせた。各フレームでは、これらのセクションを5つ、奥行き方向に積み重ね、遠近法の計算を適用した。アニメーションの進行に伴って新しいセクションが追加されていく様子は、映像で確認できる。この映像は静止画像として端末に送信され、カメラが撮影された。各フレームのレンダリングには約2分かかった。[28]
アメリカ陸軍では

マイク・ムースは、米陸軍弾道研究所がサイバー173と、VG3D端末とそれを駆動するためのPDP-11/34からなる3台のワークステーションを購入したことを回想している。これらは相互接続される予定だったが、誰もうまく動作させることができず、結局VGワークステーションは使われずに放置された。彼はこれらのハードウェアが無駄になっていることに心を痛め、1979年にワークステーションの1台を接続し、回転する3D立方体を作成するプログラムを作成した。[29]
別のプログラマーは、 XM1戦車設計の3Dポイントセットを受け取り、それをCalcompプロッタに出力するコードを書いていました。彼はMuussに、それをVG端末に表示して回転できないかと尋ねました。彼はまずTektronix 4014で静止画像として出力しましたが、翌晩VG3Dに表示させることに成功し、内部のベクトルハードウェアを使って簡単に回転させることができました。[30]
陸軍では誰もこのようなものを見たことがありませんでした。翌日、ARRADCOMの司令官が実際に視察に来ました。その後2週間、ムースは次々と将校たちにシステムのデモを行いました。[30]このデモは非常に評判となり、ムースはBRL-CADの開発に着手することができました。[31]
注記
- ^ IBM 2250 Model IIIのような後期モデルでは最大4台の端末を制御できたため、端末1台あたりのコストはホストの費用を加えて65,000ドル近くになった。[3]
- ^ マニュアルには適切なアダプタを使用すれば「どの」コンピュータでも使用できると記載されていますが、サードパーティの参考資料では使用されているコンピュータは PDP-11 のみであると記載されています。
参考文献
引用
- ^ フィリップス 1978、p. C.24。
- ^ ワイズバーグ、2008、13-8–13-9 ページ。
- ^ ワイスバーグ 2008、13-9ページ。
- ^ スウィート1981。
- ^ ボレッリ 2017.
- ^ ペディ 2013、316ページ。
- ^ 参考文献 1972年、1-1頁、1–3頁。
- ^ ab 参考文献 1972年、1-4ページ。
- ^ abcd Reference 1972、p.1-3。
- ^ 参考文献 1972年、1-1ページ。
- ^ ab 参考文献 1972年、1-7ページ。
- ^ 参考文献 1972年、1-2ページ。
- ^ Borrelli 2017、p. 画像を参照。
- ^ abc Reference 1972、p.3-3。
- ^ 参考文献 1972年、1-14ページ。
- ^ 参考文献 1972年、1-16ページ。
- ^ 参考文献 1972年、2-12ページ。
- ^ 参考文献 1972年、1-23ページ。
- ^ 参考文献 1972年、1-9~1-14ページ。
- ^ 参考文献 1972年、1-20ページ。
- ^ 参考文献 1972年、2-13ページ。
- ^ 参考文献 1972年、3-4ページ。
- ^ 参考文献 1972年、3-4~3-6ページ。
- ^ 参考文献 1972、p. 付録B。
- ^ 参考文献 1972年、3-14~3-35ページ。
- ^ ab Sweet 1981、29ページ。
- ^ デファンティ & サンディン 1981、p. 50.
- ^ スウィート 1981、30ページ。
- ^ Muuss 2000、91ページ。
- ^ ab Muuss 2000、p.92より。
- ^ 「概要」。BRL -CAD。
参考文献
- ボレッリ、クリストファー(2017年5月23日)「『スター・ウォーズ』デス・スターの設計図はUICで作成されていた」シカゴ・トリビューン
- デファンティ、トム、サンディン、ダン (1981)「目標に合わせたシステムの選定 ― テレビかそうでないか」クラーク、デイビッド編『イメージメイキングのためのコンピューター』ペルガモン・プレス、 39~ 55ページ。ISBN 9781483294636。
- Vector General グラフィックス表示システムリファレンスマニュアル。Vector General。1972年1月。
- マイケル・ミュース(2000年9月)「最近の歴史:スーパーコンピュータとネットワーク」トーマス・バーギン編『陸軍コンピューティングの50年:ENIACからMSRCまで』DIANE出版、ISBN 9781428916593。
- ペディ、ジョン(2013)『コンピュータにおけるビジュアルマジックの歴史』シュプリンガー、ISBN 9781447149323。
- フィリップス、リチャード (1978). コンピュータグラフィックスアプリケーション. ミシガン大学.
- スウィート、ニーサ(1981年2月)「デス・スターのトレンチをアニメ化する」(PDF)『ザ・ベリー・ベスト・オブ・ファンタスティック・フィルムズ:想像力豊かなメディアの雑誌』 26~ 30ページ 。
- ワイスバーグ、デイヴィッド(2008)『エンジニアリングデザイン革命』(PDF)
外部リンク
- スターウォーズのコンピュータグラフィックスの制作。スターウォーズのアニメーションの制作プロセスを説明するためにラリー・キューバが制作した短編映画です。