SeleneとはDirectX9.0c/DirectX10.0/DirectX11をベースしたゲーム用2D/3Dエンジンです。
3Dプログラミング初心者でも気軽に3Dゲームが作れるようにする事が目的です。
利用するにあたっては最低限C/C++の基本機能を一通り押さえている必要があります。
またシェーダーのない環境でも最低限のレンダラーで動作するようにし、
完成した作品はSeleneの都合で動作環境を極力縛らないようにしています。
現在までに確認の取れている最低動作環境は
nVIDIA GeForce2 / ATi Radeon7000です。
- リソース管理
- 画面モードの切り替えやデバイスロストに対応
- 同一ファイルの重複読み込みの防止
- 参照カウンタによるリソースの共有
- ソースコードの変更なしで全てのデータをパックしたファイルからの読み込み
- パスワード式の暗号化されたパックファイル
- サウンド機能
- デコード部分をプラグイン化する事であらゆるサウンドファイルの再生が可能
- 標準で「OggVorbis」と「WAVE」のプラグインを添付
- 同一オンメモリバッファの多重再生
- 3Dサウンドの対応
- 入力デバイス処理
- WinAPIを使ったマウスの処理
- DirectInputを使ったキーボードの処理
- DirectInputを使ったジョイスティックの処理
- DirectXGraphicsを用いた2D描画システム
- 描画キックを極力減らす為のスプライト管理
- PixelShaderを用いたポストエフェクト
- ルール画像を用いたユニバーサルトランジション
- モノクロ化
- セピア化
- ぼかし
- ShaderModel3.0を用いたレンダリングエンジン
- ボーンによるスキンメッシュ
- 1Drawにつき最大256本のボーン、1頂点につき4つまでのウェイトマップのサポート
- ライティング
- 半球ライティング
- 最大4つの平行光源
- 最大4つのポイントライトの適用
- スペキュラーライティング
- 法線バンプマッピング
- 視差遮断マッピング
- スペキュラーマッピング
- トゥーンシェーディング
- リアルタイムハッチング
- 頂点フォグ
- 屋外散乱光
- 影生成
- 浮動小数点バッファによるシャドウマッピング
- 分散シャドウマップによるソフトシャドウ
- PCFフィルタによるソフトシャドウ
- 投影テクスチャシャドウ
- ポストエフェクト
- 速度マップを用いた2.5Dモーションブラー
- 法線・深度マップを用いた輪郭検出
- 深度値を用いた被写界深度
- HDR(HighDynamicRange)レンダリングによるグレア処理