NeoFT構想/内部仕様案
Sprite描画ライブラリ †
- 投稿者: C477?
- 優先順位: 普通
- 状態: 提案
- カテゴリー: グラフィック・音響
- 投稿日: 2004-03-18 (木) 16:34:08
メッセージ †
描画の中枢部分はDirectX9.0のSpriteを使って行うものとする。
#将来的に3Dオブジェクトとの混在もやりやすい?
スプライトとサーフェスをより抽象化し、DirectXの今後のバージョンだけでなく
OpenGLなど他の技術へも移行しやすい、APIインターフェースを用意する。
当面の実装はFreeTrainのコードを流用したDirectDraw7ベースとする。
Managed DirectXは.NET用DLLの再配布が面倒なので使わない。
FreeTrain同様C++のDLLで対応する。
ライブラリでサポートするSprite描画機能 †
- 拡大縮小
- 特殊描画
- 半透明描画(Alpha 50%固定)
- 焼き込みカラー描画(特定色を強調した暗色化:夕焼け、朝靄効果用)
- 着色モノトーン描画(最低限、SYSTEM基本8色に対応)
- 交差描画(描画先サーフェイスの非透明色部分にのみスプライトを描画する)
- カラーフィルター描画
- RGBチャネル置換(FTでの色相置換)、カラーマップ置換、色相シフトなど
- ユーザー定義のフィルターを使用した描画をサポート
ライブラリでサポートするその他の描画機能など †
- 指定色による矩形領域塗りつぶし
- 指定色によるポリゴン領域塗りつぶし
- サーフェイス←→ビットマップ 相互変換
- テキストのスプライト化
- FTにもいいたいことですが、OpenGLを使って、Linux対応にしてほしい。(SimuTransみたく) -- 221?
- OpenGLでもDirectXでもいいから、高速スプライト描画のライブラリ作ってくれる人いませんかね。あとOpenGLを使うだけでLinux対応になるんだろうか?Microsoft.Win32パッケージやDllImport("kernel32.dll")みたいなコードも含まれてるんですけど・・・。・・・まあ、どのみち私自身はLinux不慣れだし、移植まで手が回らないので、誰か奇特な方がやってくれるのを待つことになるでしょうか。 -- 477?
- SDLを使ってみるのも良さそう。(日本語の解説)少し調査してみるかな。 -- 477?
- 自己レス。SDLは既存のウィンドウに貼りこむのが難しい。しかも複数のウィンドウを作れないようだ。したがって、今のFreeTrainのようなMDIフレームアプリは作れない。GUIを自作するのも面倒だし、やっぱこの案は没かな。 -- 477?
- 最近はSlimDXってのが良いらしい。Windows7で導入されたDirect2D(DirectDraw的なことができる新API?)を使えるとか。まあまだ日本語の情報も少ないし、描画周り改良は、またしばらく後で。 -- 477?