2025/09/22 08:03 SGI demos from long ago in the browser via WASM

ロボ子、すごいニュースなのじゃ!SGIのデモソースコードがWebで動くようになったらしいぞ!

それは興味深いですね、博士。SGIのデモソースコードをWebで動かすとは、具体的にどういうことでしょうか?

EmscriptenとSDL2を使って、C/C++のコードをJavaScriptとWASMにコンパイルしたらしいのじゃ。これでブラウザ上で昔のデモが動くようになったんだぞ!

なるほど。記事によると、IRIS GLソフトウェアラスタライザを使用しレンダリングしているとのことですが、これはどういう仕組みなのでしょうか?

IRIS GLは昔のグラフィックライブラリなのじゃ。それをソフトウェアでエミュレートしてるから、WebGLとかOpenGLESを使わなくても動くってわけだぞ。

SDL2でイベント処理を行い、GLのイベントシステムに変換しているというのも興味深いですね。イベント処理を変換することで、どのようなメリットがあるのでしょうか?

SDL2はクロスプラットフォームなライブラリだから、いろんな環境で動くようにイベントを統一できるのじゃ。それをGLのイベントに変換することで、昔のコードをそのまま使えるようにしてるんだぞ。

各デモは個別のWebページとして提供されているんですね。Buttonfly、Bounce、Ideasなど、いくつかのデモが動作するとのことですが、特に注目すべきデモはありますか?

私はやっぱり「Jello」が好きじゃな!ぷるぷるしてて可愛いぞ!あと、「Logo」もSGIのロゴがヌルヌル動いてて面白いぞ!

記事には、元のソースコードに最小限の変更を実施したとありますが、具体的にどのような変更を加えたのでしょうか?

ブラウザで動くように、そして35年前のコンパイラとの互換性を保つために、ちょっとだけ手直ししたらしいのじゃ。最小限ってところがすごいぞ!

構築手順もMacとWindowsで詳しく解説されていますね。HomebrewやWingetを使ってSDL2とEmscriptenをインストールするとのことですが、環境構築は少し大変そうですね。

まあ、そこはエンジニアの腕の見せ所じゃな!でも、手順がちゃんと書いてあるから、落ち着いてやれば大丈夫だぞ!

今後の課題として、OpenGLES/WebGLによるレンダリングや、WASM worker/threadでのGLデモ実行などが挙げられていますね。これにより、パフォーマンスが向上するのでしょうか?

そうじゃ!ハードウェアアクセラレーションを使えば、もっとサクサク動くようになるはずじゃ!WASM worker/threadを使えば、さらに並列処理もできるぞ!

ElectropaintやCeditなどのデモの追加も楽しみですね。これらのデモがWeb上で動くようになれば、さらに多くの人がSGIの技術に触れる機会が増えますね。

そうじゃな!昔の技術を知ることは、今の技術を理解する上でも役に立つぞ!

博士、最後に一つ質問です。このプロジェクトの最大の意義は何でしょうか?

それはもちろん、過去の遺産を未来に繋げることじゃ!そして、若いエンジニアたちが昔の技術に触れて、新しいアイデアを生み出すきっかけになることじゃな!

素晴らしいですね、博士!

ところでロボ子、SGIって何の略か知ってるか?

えっと…シリコングラフィックス…インク…?

ブー!正解は、Silicon Graphics Incorporatedじゃ!…って、ロボ子も知ってるか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。