レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
おちゃめくらぶ掲示板
-
レイヤー機能付きお絵かきソフト
プチコンには標準で「GRPED」「DRWED」の2種類のお絵かきソフトが入っているにょ。
それだけではなくユーザーの手によってたくさんのお絵かきソフトが発表されているにょ。
プチコンはDSのタッチパネルを簡単に利用できるために「単色で絵を描くだけ」ならば
1行プログラムでも可能になっているにょ。
しかし、数多く発表されていても「レイヤー機能」に対応したものは1つもないにょ。
「無いものは作る」の法則に従って1日で作ってみたにょ。
http://www.youtube.com/watch?v=9rgXqMtoUVQ
レイヤー機能を持たせること自体は非常に簡単にょ。
プチコンはmkIIではグラフィック面が4面用意されているため上下画面の表示以外で2面分
余っているためそれをレイヤー用として使えばいいだけのことだからね。
この度作ったプログラムは必要最低限のレイヤー機能としてレイヤーごとの表示、非表示と
レイヤーの上下入れ替えが可能になっているにょ。
現時点ではまだ実装していないけどセーブ機能を付ければレイヤーごとのセーブとレイヤーを
統合したもののセーブもできるようになるにょ。
2枚しかないレイヤーだけどそれでも下記のような手順でお絵かきができるので非常に簡単に
なるにょ。
下レイヤーに人物キャラを下書きする
↓
上レイヤーにそれにペン入れをする
↓
下レイヤーの下書きを消して色塗りをする
↓
上下レイヤーを統合して上レイヤーのみにする
↓
上レイヤーの人物の表示、非表示を行い調整しながら下レイヤーに背景を描く
↓
上下レイヤーを統合して完成
あまりにあっさりレイヤー機能の搭載は実現したけどここで思わぬ落とし穴があったにょ。
それは、下画面は常時全画面GCOPYを2回行っているから表示のちらつきがあるということにょ。
全画面GCOPYは1.6フレームもかかるということでプチコンの中ではかなり重い処理であり
それを2回行うということは画面上の場所によっては4フレームの時間差が発生してしまって
いるということにょ。
これを緩和させるためには一端バッファ画面に転送してそこでレイヤーの表示統合を行い
統合したものを画面上に表示するしかないにょ。
しかし、残念ながらグラフィック画面が余ってないためそれは実現ができなかったにょ。
ポケコンではBASICでこのようなお絵かきソフトはいくつも作ったにょ。
ポケコンは反応速度の遅いSTN液晶ということもあり、意図的に表示と非表示を交互に高速で
行うことで本来であればモノクロ2階調しかサポートしていないポケコンで疑似4階調を実現
したお絵かきソフトも作ったけどTFT液晶のDSではそれはただのちらつきでしかないにょ。
せめて60fpsで交互に表示して実質30fpsで処理を行っていれば見れなくはないだろうけど
GCOPYの速度が現状の2倍ないとそれは難しいにょ。
確かに画面をタッチしていない時には画面の再描画を行わないようにすればちらつきは
発生しないけれど現実的には描いている時のちらつきは許容量を大きく超えているために
そんな一時的なごまかしでは我慢ができないにょ。
まぁ何とかしてこのちらつきが抑えられるとしてもあとはメインルーチンが実質VSYNC 4で
動作しているためこの遅さに耐えられるかということにょ。(GCOPY命令を2回行っている
ため1回の描画だけでも3フレーム以上の時間がかかっている)
これは毎回全画面GCOPYするのではなく1フレーム当たりに変化した部分だけを部分的に
GCOPYすればかなり改善されそうなのでもう少しいろいろ試してみることにするにょ。
ツールの使い勝手は自分好みにしているし、私が必要な機能以外は搭載する予定はない
ためにもしも「高性能なツール」に期待している人がいたら他所を当たるか自分で作る
のが一番かもしれないにょ(笑)
|
|
|
掲示板管理者へ連絡
無料レンタル掲示板