このプロジェクトについて

G3N(「ジェン」と発音)は、Goプログラミング言語で書かれたオープンソースのOpenGL 3Dゲームエンジンであり、リッチでダイナミックな3D表現を備えたクロスプラットフォームのGoアプリケーションを構築するために設計されています。 ### 主な機能 - **クロスプラットフォーム対応:** Windows、Linux、macOSで動作し、WebAssemblyサポートは90%完了とされています。 - **統合GUI:** さまざまなウィジェットを備えた基本的なGUIフレームワークを含みます。 - **階層シーングラフ:** ノードは他のノードを含むことができ、3Dシーンを整理できます。 - **空間オーディオ:** OpenALを介した3D空間オーディオをサポートし、.wavおよび.ogg形式を含みます。 - **ライティングとレンダリング:** リアルタイムの環境光、指向性、点光源、スポットライトに加え、物理ベースレンダリング(フレネル反射、幾何学的オクルージョン、マイクロファセット分布)を提供します。 - **モデルとジオメトリのサポート:** glTF(.gltf、.glb)、Wavefront OBJ(.obj)、COLLADA(.dae)用のローダーを含みます。また、ボックス、球、円柱、トーラス用のジオメトリジェネレーターを備え、モーフターゲットとマルチマテリアルをサポートします。 - **アニメーションとシェーダー:** 位置、回転、スケール用のアニメーションフレームワークを備え、ユーザー作成のGLSL頂点、フラグメント、ジオメトリシェーダーをサポートします。 - **その他の機能:** HiDPIディスプレイ、透視および正射カメラ、TrueTypeフォント、画像テクスチャ(GIF、PNG、JPEG)をサポートし、実験的な基本物理エンジンを含みます。 ### 依存関係とインストール このエンジンにはGo 1.8以上、OpenGLドライバー、GCC互換のCコンパイラが必要です。Unix系システムでは特定のCライブラリ(xorg-dev、libgl1-mesa-dev、libopenal-dev、libvorbis-devなど)が必要です。Windowsビルドはmingw-w64ツールチェーンを使用し、macOSではOpenALとVorbis用のHomebrewパッケージが必要です。エンジンはリポジトリをクローンして`go install ./...`を実行する標準的なGoコマンドでインストールできます。 ### 例とコミュニティ リポジトリには、色を変えるボタンと青いトーラスを示す基本的な「Hello G3N」の例が含まれており、カメラ、ライト、GUI統合を示しています。プロジェクトはGoDocによるAPIドキュメント、wikiガイド、サポートとディスカッションのためのDiscordコミュニティチャンネルを提供しています。