トップページ > 記事閲覧
ソフトウエアイメージに描画する関数
名前:motoYo 日時: 2020/03/22 14:29

お世話になっております。 現在、自作のゲームを「画像を使わずに」制作しています。 できるだけユーザーが手を加えられないようにしたい、また、画像の色変更等の ある程度の自由度を設けたいと思い、 ソフトウエアイメージを利用して画像を作成し、グラフィックに渡して描画という形をとっています。 数日前、きれいな円の画像を作ろうと思ったのですが、 ソフトウエアイメージに描画する関数には、アンチエイリアスのついた円を描画する関数が 見た限りでは有りませんでした。(通常の円描画は可能でした。) 裏画面に直接描画することもできますが、ゲームのシステム上大量に描画する必要があり、 要求スペックが格段に上がることになってしまいます。 以下の関数を追加していただくことは可能でしょうか? (関数の内容はSoftImageなしの関数と同様です) DrawLineAASoftImage DrawBoxSoftImage DrawBoxAASoftImage DrawCircleAASoftImage DrawOvalSoftImage DrawOvalAASoftImage DrawOval_RectSoftImage DrawTriangleSoftImage DrawTriangleAASoftImage DrawQuadrangleSoftImage DrawQuadrangleAASoftImage DrawRoundRectSoftImage DrawRoundRectAASoftImage よろしくお願いします。
メンテ

Page: 1 |

Re: ソフトウエアイメージに描画する関数 ( No.1 )
名前:B.E 日時:2020/03/22 17:06

ちょっと気になったんですが、MakeScreen()で作成したグラフィックハンドルに一度描画してソフトウェアイメージにコピーじゃダメなんですかね? 1.MakeRGB8ColorSoftImage()でソフトウェアイメージを作成 2.MakeScreen()でαチャンネル付きの描画用スクリーン作成 3.SetDrawScreen()で描画先に指定 4.SetDrawBlendMode(DX_BLENDMODE_PMA_ALPHA,255)で「乗算済みα用のαブレンド」にする 5.既存の描画関数で描画用スクリーンに描画 6.GetDrawScreenSoftImage()でソフトウェアイメージに転送 7.DeleteGraph()で不要になった描画用スクリーンを消去 でアンチエイリアスに対応したソフトウェアイメージの作成は出来ると思いますよ。 そもそもソフトウェアイメージに転送しなくても、MakeScreen()で作成して図形を描画したグラフィックハンドルを、 そのまま描画用素材にすればいいような気がするのですが…、それでは何か不具合があるのでしょうか? >>裏画面に直接描画することもできますが、ゲームのシステム上大量に描画する必要があり、 >>要求スペックが格段に上がることになってしまいます。 図形描画系はそんなに重い処理では無いと思いますし、ゲーム開始時やシーンの開始時にMakeScreen()で作成したグラフィックハンドルに 一回だけ描画するようにすればいいんじゃないでしょうか? (ソフトウェアイメージへの描画はもっと重いですし、「画像を使わずに」ということならピクセル単位でアクセスするといった事はしてないでしょうし…)
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存