
独学でコンピュータプログラマーを学んだアレックス・フィッシュ氏が、自らゼロから開発した3Dグラフィックスおよび物理演算エンジンのデモを公開しました。このエンジンは、基本的なパーツを組み合わせて自作したGPU上で動作します。GPU自体には、画面上のグラフィックを操作するためのサムスティック付きのスクリーンが内蔵されています。
この話は、1週間前に紹介した自作FuryGPUと非常に似ています。ただし、Alex Fish氏が開発したこの自作GPUは、GPUハードウェアだけでなく、GPU開発のソフトウェア面に重点を置いています。
ハードウェア自体は完全にカスタムメイドではありませんが、アレックスが自作GPUに使用している3Dエンジンは完全カスタムです。プログラマーは、C++とOpenGLを用いて、3Dグラフィックスと物理演算エンジン(ESPescadoエンジンと名付けました)をゼロから構築しました。ベクトル演算と行列演算を扱うライブラリも、すべてゼロから開発しました。物理演算とジオメトリは3Dでレンダリングされますが、画像を真に3Dに見せるために、エンジンは透視投影行列と透視除算を用いて3Dオブジェクトを2D画像に変換します。これらが3Dグラフィックスの基礎です。
自作の3Dエンジンはメッシュも活用しています。メッシュは点と線で構成され、三角形にグループ化され、さらに三角形がメッシュにグループ化されます。ビデオゲーム用語では、メッシュはゲーム内で表示されるオブジェクトや地形の基盤を形成し、それらにフォトリアリスティックな特徴を与えるものです。これらのメッシュは、モデル・ワールド間マトリックス(TRS)を用いて「ワールド」に配置されます。TRSシステムは、ローカル空間からワールド空間へ、目に見えるすべての点を拡大縮小、回転、移動させることができます。
アレックスは、この自作グラフィックエンジンを1.91インチの小型GPU開発キットで動作させるライブデモを公開してくれました。YouTube動画では、GPUが黒い背景に緑色の三角形のオブジェクトを表示しています。GPUに接続した2つのジョイスティックを使って、ビデオゲームの三人称視点のようにオブジェクトを動かすことができました。
デモ自体は画期的なものではありませんが、手作りの3Dグラフィックエンジンをゼロから作れることを証明しています。もしAlexがFuryGPUの開発者Dylan Barrieと繋がりがあれば、自作のハードウェアとソフトウェアだけで動作する本格的な3Dビデオゲームが登場するかもしれません。Alexの3Dエンジンを試してみたい方は、彼がGitHubにいくつかのページを作成しており、エンジンの詳細と動作に使用したハードウェアについて説明しています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Aaron Klotz 氏は Tom's Hardware の寄稿ライターであり、CPU やグラフィック カードなどのコンピューター ハードウェアに関するニュースを扱っています。