Chapter2 ミニコン時代(1982〜1989年頃) page5
PS300導入

さて、ワークステーション時代の到来が、そのきざしを見せてはいましたが、LSI11を生かす形での発展を考えるとその世界にいくわけには行きませんでした。 その結果、菁映社は当時4000万円もしたエバンスのPS300を購入することになります。今思えば大きな岐路だったかもしれません。

で、結局「サイラック3」用に作成した「PADシステム」をPS300向けに、また作り変える必要がでてきました。これも結構大変な作業でしたが、PSはきちんと動作してくれましたので大きな問題もなく開発を終えることができました。やはりこの辺の信頼性が違うんですね。また、アーキテクチャーの考え方が大変ユニークで、発想が違います。以下、簡単にPSの特徴を述べてみます。


[ PS300 ]

1) オブジェクト指向


PSという機械は、とてもエレガントなものでした。 完全なオブジェクト志向のアーキテクチャー、イベントドリブンな動作など、すばらしいものでした。昔、”電子ブロック”というおもちゃがありましたが、 まさにあんな感じです。

だから、プログラムのフローチャートは電子回路の設計図みたいになります。いろいろな機能を持った“電子ブロック“がPSの中には用意されていました。 形を定義するブロック、位置を決めるブロック、色を決めるブロック。これだけでは、画面に何も現れませんので、これらを画面に表示する機能を持ったブロック。PSではブロックとは言わず、ファンクションと呼んでいました。 C++のクラス定義にあたるものが、ファンクションです。使用するにはそれのインスタンスを作ります。 ファンクションには幾つかの入力端子と出力端子がついています。

[電子ブロック]
プログラミングのイメージはまさにこれです

 

PSのプログラム設計図

それだけでは何もおこりませんが、その出力端子と入力端子をほかのファンクションにつないでやることにより機能するようになります。 “connect drotX<1> to <1>object.rot“というコマンドをキーボードからタイプするだけで、コネクションを行うことができました。(LISPと同じような感じですね。)こういう概念を考えた人はすごいですよ!ほんとに。
ちなみに、画像計算の部分は専用のハードウェアーを使っていましたが、これらのオブジェクト指向のシステム管理は、すべてモトローラの68000CPUで行っていました。 よくもまあーという感じです。

コンピューター業界には「もしもあの時」という話がいっぱいありますが、PSのアーキテクチャーを持ったシステムが、そのまま一般に広まり進化していたら、現在のCGのシステムは大きく変わっていたでしょうね。
 
2) ベクター方式の表示

ご存じのようにCRTといえば現在広く普及しているラスタースキャン方式が一般的ですが、ベクター方式というのは、電子銃を画面に対してスキャンするように動かすのではなく、図形の形どおりに動かし直接かいてしまお うという方式です。画素という考え方があるラスタースキャン方式と違って、ベクター方式には解像度の限界は非常に高いところにあります。つまり電子銃の最小振れ角が解像度を決めます。PSはこのベクター方式をとっていました。 PS300の場合は、8000x8000の解像度がありました。このような高解像度な特性を持つ為にアンチエイリアスの考え方は必要ありませんでした。 電子銃がブラウン管の蛍光面にあたり、その発光により図形が見えるわけですが、図形を表示させる為には1秒間に何十回も同じ蛍光面をなぞらなければなりません。もしこのリフレッシュレートが落ちると、画面がちらつくよう(フリッカー)になります。 表示するベクター(線分)の本数が増えてくると、一画面をかき終える時間が必然的に増え、リフレッシュレートが下がり画面はちらついてくるようになるわけです。これが表示画質と引替えにベクター方式がもっている欠点です。

[ラスタースキャン方式]
電子銃が横方向に動きON/OFFをする事で図形を描画する
ジャギーがでる欠点があるが、フリッカーがおきない。



[ベクタースキャン方式]
電子銃が図形をなぞって描画する
フリッカーがでる欠点があるがジャギーはでない。