2D描画ライブラリインターフェイス
Posted: 2013年7月19日(金) 16:27
描画部とゲームをインターフェイスで分離でき,かつ2D描画が簡単にできる描画ライブラリを探していたのですが
探しても見つからず,とりあえずインターフェイスを自作すればいいのではと思いました.
(ゲームコードにエンジン/ライブラリ依存性を持たせたくない)
多くの2Dゲームでもわりとよく見られるエフェクトをインターフェイス越しに実現できることが理想なのですが,
わりとスプライト描画+アルファブレンドで満足してしまうので,自分はDXライブラリのこの関数を良く使うと言った意見や
面白い2Dレンダリングのあれこれをご存知でしたらいろいろ教えてください.
※シェーダについてはまだ良く分かっていないことも多いです.勉強します.
◇描画
・動的な描画テクスチャの生成(オフスクリーン)
・スプライトの描画(位置,回転,角度,RGBA)
・矩形の描画(線/四角/楕円) ※
・文字の描画(フォント,色,大きさなどを指定するor単純にフォントテクスチャを指定する)
・(3Dモデルの描画 : いずれ検討)
◇描画設定
・ステンシルバッファのON/OFF(マスク機能)
・アルファテスト ON/OFF ※ pixelshader(PS)で対応
・描画ステートの設定変更(ブレンド/サンプラー/ラスタライザ/深度ステンシル)
◇エフェクト(良く知らない)
・PSで色変換(モノクロ調など)
... to be added.
余談ですが,複数の描画先に描画出来るようにした場合,描画先を逐次切り替える処理が無駄なので
ゲーム中で呼ばれた全ての描画関数・設定変更命令を描画先毎に全て一度ストックしてから処理する方法を考えています.
描画先指向?メモリの無駄は生じますがみなさんならどういう設計にしますか・・・?
p.s. 発端はDirect3D11で開発していて,将来的にDirect3D9でも動かしたいなと思ったからです
探しても見つからず,とりあえずインターフェイスを自作すればいいのではと思いました.
(ゲームコードにエンジン/ライブラリ依存性を持たせたくない)
多くの2Dゲームでもわりとよく見られるエフェクトをインターフェイス越しに実現できることが理想なのですが,
わりとスプライト描画+アルファブレンドで満足してしまうので,自分はDXライブラリのこの関数を良く使うと言った意見や
面白い2Dレンダリングのあれこれをご存知でしたらいろいろ教えてください.
※シェーダについてはまだ良く分かっていないことも多いです.勉強します.
◇描画
・動的な描画テクスチャの生成(オフスクリーン)
・スプライトの描画(位置,回転,角度,RGBA)
・矩形の描画(線/四角/楕円) ※
・文字の描画(フォント,色,大きさなどを指定するor単純にフォントテクスチャを指定する)
・(3Dモデルの描画 : いずれ検討)
◇描画設定
・ステンシルバッファのON/OFF(マスク機能)
・アルファテスト ON/OFF ※ pixelshader(PS)で対応
・描画ステートの設定変更(ブレンド/サンプラー/ラスタライザ/深度ステンシル)
◇エフェクト(良く知らない)
・PSで色変換(モノクロ調など)
... to be added.
余談ですが,複数の描画先に描画出来るようにした場合,描画先を逐次切り替える処理が無駄なので
ゲーム中で呼ばれた全ての描画関数・設定変更命令を描画先毎に全て一度ストックしてから処理する方法を考えています.
描画先指向?メモリの無駄は生じますがみなさんならどういう設計にしますか・・・?
p.s. 発端はDirect3D11で開発していて,将来的にDirect3D9でも動かしたいなと思ったからです