ゲームのグラフィックスプログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/07 00:30ID:MUorfDi0データ作成ツール、プラグインに関するスレッド。
0041名前は開発中のものです。
02/02/26 18:59ID:???ネタを振りなさい
0042名前は開発中のものです。
02/02/26 20:45ID:???上下に揺らしたいんだけど計算方法ってどんな感じ?
釣り竿みたいなしなり方するのもやってみたい。
0043名前は開発中のものです。
02/02/26 21:56ID:???0044名前は開発中のものです。
02/02/26 23:43ID:???角度にSinをかけて、それに対して(Cos, Sin) で座標を求めると、
しなりが表現できる。
0045名前は開発中のものです。
02/02/26 23:46ID:???アドベンチャーゲームやノベルゲームによくあるメッセージウィンドウが半透明って
いうのをやりたいのですが。
0046名前は開発中のものです。
02/02/27 00:34ID:???ピクセルエフェクトだけがグラフィックじゃないだろう。
時間軸に対する変化も「ゲーム」のグラフィックで
いいんじゃないか。
0047名前は開発中のものです。
02/02/27 00:46ID:???0048名前は開発中のものです。
02/02/27 00:55ID:ag9+4F85アルファブレンド
R=r1*α+r2*(1-α)
G=g1*α+g2*(1-α)
B=b1*α+b2*(1-α)
0049VBゲームの会会長
02/02/27 01:39ID:???Dirext使う以外の方法。
俺はデバイスコンテキストのビットマップ取得して
自前で計算して書き込み、って感じでやってるんだけど
ビットマップの取得って遅いんだよな。
0050名前は開発中のものです。
02/02/27 01:50ID:???0052名前は開発中のものです。
02/02/27 02:44ID:???0053名前は開発中のものです。
02/02/27 04:01ID:???ハードウェアに頼らないなら
0054名前は開発中のものです。
02/05/21 03:49ID:XHSDIsJI0055名前は開発中のものです。
02/05/21 04:22ID:???ちなみに、対応してない環境はしらん
0056名前は開発中のものです。
02/05/21 04:23ID:???しょっちゅう出てくるんだけど、何のことだかサパーリわかりません
0057名前は開発中のものです。
02/06/01 02:34ID:W3aJQHQc去年のやつにレスするのもどうかと思うが、どっちが良いんだろ。
DirectX使うんで、余白は半透明にしてゴリゴリ描画させるべきか。
それとも組み合わせの全パターンを用意するべきか。
描画速度とマップデータ作成の手間だよなぁ…
0058◎(v◎)ぅん?
02/06/02 22:00ID:???見失ったのでおしへてください。
中心から放射状にライン(元絵にブレンド)するのは
なんていうでしょ〜か?
おしへてください。
0059名前は開発中のものです。
02/06/02 22:39ID:VQxiMrmg大和日の丸ブレンド
0060おしへてよ
02/06/03 15:10ID:???それは、可視光線につかうやつだから違います。
僕が煎ってるのはとはちょっと違います。
0061名前は開発中のものです。
02/06/03 15:49ID:???1/f揺らぎはフラクタルノイズとかピンクノイズと呼ばれるもの。
簡単に言うと振幅が周波数に反比例するノイズ。
006256
02/06/03 16:14ID:???とっくに忘れ去られた記事にレスつけてくれてありがとうございます
ホワイトノイズは分かるけど、ピンクノイズって言うのがさっぱりなんで
勉強してきます
0063名前は開発中のものです。
02/06/04 00:43ID:???ホワイトノイズとピンクノイズ
ttp://www.cr.ie.u-ryukyu.ac.jp/~jahana/study/7th/node2.html
ぐぐったらトップに出てきたよ…。
006461
02/06/04 01:51ID:???このスレは忘れた頃にレス付けるのが流行りなので(大嘘
フラクタル理論ってのは正直言って使いものにならないけど、フラクタル
ノイズだけは利用価値があるから覚えておいて損はないと思う。
フラクタルノイズの生成方法は色々あるけど、中点変位法が使いやすい。
これは与えられた直線や面を複雑な形に変形させるのに向いていて、例えば
直線で構成された地図から複雑な海岸線を生成したり、Terragenみたいな
山や島を生成するのに使ったり、雲の画像を生成するのに使ったりする。
他に扱いやすいのだと、Perlinノイズとかがある。
中点変位法もPerlinノイズも有名なのでgoogleで検索して調べてチョ
0065名前は開発中のものです。
02/11/22 16:12ID:9c7blZlP0066名前は開発中のものです。
03/01/18 17:07ID:iw7udlzC0067あぼーん
NGNG0068デフォルトの名無しさん
03/03/09 05:39ID:+eukiwJN1/fゆらぎというのは森本レオの声のことだとテレビで
みたことあり。あれの抑揚とテンポが「いやし」なのだそうな。
0069あぼーん
NGNG0070名前は開発中のものです。
03/05/26 03:06ID:GHkNvo1j0071あぼーん
NGNG0072あぼーん
NGNG0073あぼーん
NGNG0074あぼーん
NGNG0075名前は開発中のものです。
03/06/02 12:40ID:ITVwHYA/出来ればこちらに移動するのをお勧めします。
ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/
↓こんな感じにするのがお勧めです。
-----
9 名前:名無しさん@ゲムデヴ[] 投稿日:2003/05/28 21:33
とりあえずOpenJaneに登録した
板一覧の上で右クリック→新規追加→板名とアドレス入れるだけ
0076あぼーん
NGNG0077_
03/06/04 04:42ID:BTapcBlD0078あぼーん
NGNG0079名前は開発中のものです
03/08/02 14:25ID:cQ9XMcdq月並だが、ランドスケープ系の地面生成にも使えそうだね。
0080名前は開発中のものです。
03/08/20 21:46ID:LSk0dm4m何かAdobe PhotoShopがいいって聞くけど、どうなんでつか?
0081名前は開発中のものです。
03/08/20 22:40ID:HDaBPg+x藻れのマシンだとタブレット使えないけど。
Linuxだと認識したな
0082名前は開発中のものです。
03/08/22 10:57ID:xwFvGxu/Redですか?Intuosですか?詳しい情報きぼんぬ。
008381
03/08/22 20:43ID:i8HMvWmoRedHatの8。
タブレットはWACOMのペインタークラシックとフォトショップエレメンツが付属してる一万円ぐらいの。
Turbo7で動いた気もするけど確信はない。
筆圧感知は作動しなかった(別に必要としてないから構わないけど)
0084名前は開発中のものです。
04/07/03 21:10ID:E3a3uuaWネタもないのにageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_ヘ ∧_ヘ
/ \〇ノゝ / \〇ノゝ age
/三/´∀`)∩ ∩/´∀`) age
(つ 丿 ( ⊂) age
( ヽノ ヽ/ ) age
し(_) (_)J
0085名前は開発中のものです。
05/01/14 18:21:08ID:54v6LdftGDI使った描画の話でもしませんか?
0086名前は開発中のものです。
05/01/14 18:22:25ID:x8Lzovrj0087名前は開発中のものです。
05/01/14 21:07:42ID:6XJfBMIB008885
05/01/14 22:54:09ID:54v6Ldft640x480を2回描画する程度でも60fpsぎりぎりです(CPU1.6GHzで)
最低でもCPUが500MHzで30fpsくらいは出したいと思ってるんですが、
何か裏テクみたいのありませんか?
0089名前は開発中のものです。
05/01/14 23:18:31ID:9TAJVPpI0090名前は開発中のものです。
05/01/15 00:05:44ID:B+0VfzV2DirectDrawは数年前にやった。
透明処理を自前でやるとGDIと大差ないことが分かった(システムメモリ上にサーフェイス作るわけだから)
実際GDIでも結構速度出てるの見かけるがな…
0091名前は開発中のものです。
05/01/15 00:13:50ID:JHTUBUOo0092名前は開発中のものです。
05/01/15 03:12:48ID:Oy21Jqg00093名前は開発中のものです。
05/01/15 03:24:14ID:6z5TP1+k>どうも速度が出ません…
そんな主観的表現じゃ質問の意味が通じるわけねーだろ
・85が期待する「速度」とは具体的に何か
・それは何を根拠に算出した値なのか
を説明しろ。根拠無いから説明不能ってんなら
使用環境とコード(描画部分)ぐらいサボらず書け。
DIBにソフトウェアレンダリングしてるってんなら
システムメモリ周りのスペックをちゃんと説明しろ。
メモリとチップセットの種類ぐらいサボらず書け。
009485
05/01/16 12:09:11ID:l1qZrVG+16ビットだとアルファチャンネルいれると4bitづつしか使えないからなぁ…
>>93
速度=描画速度のことです。コードは長いので書きませんが、流れ的には、
[画像データ(DIBではない)]→[DIB]⇒[ウィンドウのDC]
(→で単純なメモリコピー、⇒でBitBlt)
この処理を640x480x32の画像で→2回、⇒1回行うとFPSが最大でも60ぐらいしか出ない。
ちなみにループの処理は、PeekMessage()でメッセージが無ければ描画をするといった感じです。
環境はOS:WinXP、CPU1.6Gz(FSB400MHz)、RAM:PC2100DDR512MB、チップセット:SiS645、ビデオボードはGeForce4MX。
オレが期待している速度は、この環境で上記の処理をFPS100以上、500MHz程度のCPUかつ非DDRメモリの環境でも、
FPS30程度を確保したい(FPSが30切るとゲームとしてはキツい)。
無謀なのかもしれないが、HSPとか吉里吉里見てると余裕で出してるように見えます。
手ほどきおながいします。
0095名前は開発中のものです。
05/01/16 13:16:55ID:/nYnDXlR512*512だと、毎回メモリ転送を繰り返してもPentum3の800MHz/32ビットで
100FPS位出る(Pentium2-400MHzで50-70)みたいだね。ビット数による差
はそれほどないみたい。
http://www.sm.rim.or.jp/~shishido/vdib.html
ただ、DIB/DirectXのようなフレームバッファはビデオ環境に依存する面
が大きいから、CPU/メモリで判断するのは難しい。
0096名前は開発中のものです。
05/01/16 14:27:11ID:E/5FuOt0これを100FPSにすると、バスに対して秒間100MBオーバー転送が発生する。
VRAMを作業領域として使わず、全てをメインメモリから転送するのは阿呆としかいいようがない。
0097名前は開発中のものです。
05/01/16 14:30:29ID:8IvX1yU+透明処理ってカラーキーのことか?
0098名前は開発中のものです。
05/01/16 16:24:30ID:cJAj482aいちいち大げさだし、落ちた時怖いし。
テトリス程度ならBitBltでも充分過ぎる。
009985
05/01/16 16:58:39ID:l1qZrVG+値が不安定だったんで、FPSの算出の精度を上げてみたらFPS110くらいでしたorz
>>96
VRAMを使うと演算に時間がかかってしまうので。
アルファ合成などをしたいときに困る。
ただ、無演算の転送時はVRAMを使うとかは考えたんだが、
VRAMをDDraw使わずに利用する方法が分からないorz
>>97
DirectX使わずにゲーム作ってみたかったんです。
透明処理はアルファ合成やブレンド処理のことでつ。
やっぱ無理があるっぽいんで、FPSが低くてもごまかせるようにゲーム側を調整することにします。
みなさんレスしてくれてありがとです。
010097
05/01/16 17:17:23ID:8IvX1yU+DirectXを使いたくないという、その意義がちょっとわからないな。
自分でdibsectionでやったとこで結局メモリ帯域の壁にぶち当たって終了なだけなんだけど。
全画面に対して半透明をかけるなどするのでなければ、
基本的にDirectDrawでハードウェアブリットを使用して、
適宜、システムメモリに確保したサーフェスで自分でアルファブレンド演算して
それをbltfastするだけでも十二分に問題ないよ
さらに言えば、Direct3Dでビルボード使うのが昨今の流行だよね
アルファブレンドも拡大縮小・回転・変形なんでもやりまくり
010197
05/01/16 17:21:44ID:8IvX1yU+なんか変だな。VRAMをLockして自前で書き込む
010285
05/01/16 17:48:13ID:l1qZrVG+オレもDDraw使ってた時はそうしてた。
だけど、出力先がVRAMサーフェィスだと元画像がシステムRAMサーフェイス演算処理が非常に遅くなってしまう。
で、これを解決するにはVRAMから一旦システムRAMにブリットして、そこに半透明の物を描画、
最終的にこれをVRAMに戻す。
こうすればいいんだが、透明オブジェクトごとにこれをやってると大変なことになってしまう。
雲やフェードなどで、半透明処理を画面全体に使いたいので結局ボツになってしまった。
もっと効率のよいやり方があると思うんで、教えてもらえるとうれしいです。
ちなみにDirectGraphicsのさわりを1年以上前にかじったが、受験やら何やらで記憶から飛んでしまった…
SDKとかもどっか消えちゃってるっぽいし…
0103名前は開発中のものです。
05/01/16 17:48:18ID:+Q5c9pKEMMXとか使うと良いよー
http://www.cyborg.ne.jp/~xelf/developer/MemoryCopy.html
これはメモリコピーの例だけど、アルファブレンドも高速化できるよ
0105名前は開発中のものです。
05/01/16 18:33:27ID:iFAGXXNG画面全体に使いたいなら、答えは解像度を落とすか、Direct3Dを使うしかない。
D3Dでの2D描画はお勧め。最初、とっつき悪いけど。
0106名前は開発中のものです。
05/01/16 20:36:58ID:kmBS/1gg0107名前は開発中のものです。
05/01/17 04:52:15ID:EGIYB8/Wバスで安全運転したいんじゃなかろうか?
0108名前は開発中のものです。
05/01/17 06:54:24ID:OybtQj5h0109名前は開発中のものです。
05/01/17 16:45:47ID:5rsoc+Sh吉里吉里は鬼のような更新エリア管理(変化があったところしか描画しない)で
あの速度を出していると聞いたことがある。ADVのような画面変化の少ない
ゲームにはすごく有効なんだろうな。常時画面が動いてるようなSTGとかでは
ほとんど意味がないだろうけど。
0110名前は開発中のものです。
05/01/17 22:41:16ID:NidjJtgD0111名前は開発中のものです。
05/01/18 10:57:50ID:mhTx1P2X>たとえば完全に不透明なレイヤの奥にあるレイヤは描画しないくてよいとか、
>CPUキャッシュを効率的に使用するために画像をキャッシュに収まるぐらいの
>分量で演算して順次画面に転送したりとか、変更のない領域は演算しないとか、
>いろいろあります。
サクーシャの日記より
0112名前は開発中のものです。
05/01/19 23:05:34ID:UpNya3dG0113名前は開発中のものです。
05/01/19 23:12:31ID:aRH3B+4Hいやレーザー出してないで回復してくれ。
おいハスラムお前は下がってろ、死ぬぞ。
だからダムリン、レーザーじゃなくて回復だって。
おいハスラム下がれよ。
あ、死んだ。
0114名前は開発中のものです。
05/01/25 03:39:41ID:e91Gc3r5それをいうならテグザー。って歳がばれるな。。。orz
0115名前は開発中のものです。
05/01/29 13:40:17ID:mEtNLycX誰かいたらageてくれ
0116名前は開発中のものです。
05/01/29 15:31:10ID:YU0Z0PBF0117名前は開発中のものです。
05/01/29 15:42:10ID:0G2VwVCk0118名前は開発中のものです。
05/01/29 18:04:40ID:YhpGkHYlフレーム管理の処理は入れたか?
0119名前は開発中のものです。
05/01/30 00:33:55ID:f7U2kOiV88だが、そのやつはウェイト無しでやったからフレーム管理はしてない。
実際に使う時は、MMタイマー使ってFPSを保つけど。
0120名前は開発中のものです。
05/01/30 22:28:15ID:uoXF1H/p0121名前は開発中のものです。
05/01/31 21:26:15ID:0o9LrN7x0122名前は開発中のものです。
05/01/31 22:32:35ID:jmz8AnbIふんばってるかも。
0123名前は開発中のものです。
05/01/31 22:53:10ID:Yi5Y8AvB0124名前は開発中のものです。
05/02/12 00:21:36ID:eeqsTIaL0125名前は開発中のものです。
05/02/12 01:36:56ID:f0t6Ydo52Dか?
3D機能を使うのか?
ピクセルをゴリゴリしたいのか?
0126名前は開発中のものです。
05/02/12 02:11:38ID:eeqsTIaL0127名前は開発中のものです。
05/02/12 15:55:12ID:f0t6Ydo5for (int y=-16;y<17;++y) {
for (int x=-16;x<17;++x) {
int xx=x*cos(r);
int yy=y*sin(r);
PutPixel( Surface1, x,y, GetPixel(Surface2,xx,yy) );
}
}
コードをお最適化したいならネットで調べてくれ
0128名前は開発中のものです。
05/02/12 18:15:31ID:eeqsTIaLそのくらいは既に作ってあるんだけど、画像がデカくなると鈍くてぬるぽ。
もちろんsinやcosは最初の一回だけ演算で、固定小数で座標変換するくらいの工夫はしてるが。
0129名前は開発中のものです。
05/02/15 12:36:06ID:/Km3SJ1pつーか計算以外のところが重いんじゃないの?
今時でないCPUならこの辺が参考になるかも
ttp://homepage3.nifty.com/taka7646/taka/
0130名前は開発中のものです。
05/02/16 19:47:28ID:OolR/sC8>>127
ってなんか間違ってる気が…
>>129
回転マトリクス使うわけだが、この乗算を640x480でやったら結構大変だと思うが…
0131名前は開発中のものです。
2005/03/23(水) 10:05:46ID:BEkGnVxI要はrotozoomerだろ?
コモドールとかamigaでOldschoolメガデモでタイルぐるぐる回すやつ。
DirectXのラッパか何か使ってるの?
俺はmallocで確保した背景(回転エフェクト)用の領域をQWORD整合して、
描画した後、プライオリティ考慮しながらoffscreenに流し込む方法とってる。
800*600とかでも十分に速度出る。1024*768はさすがにやばいけど。
あとはURLで紹介されているけど、sincosをテーブルにするとか、
テクスチャのサイズを2のべき乗にして剰余演算をANDで置き換える等々。
0132名前は開発中のものです。
2005/05/03(火) 23:52:47ID:Ez3eLyuc>>131
とりあえずmallocでメモリ確保してGDIで出力してる。
演算は固定点小数でやってるが、タイル状のものを回転させてたいわけじゃないんで、
範囲内か外かの判定もドット毎にやってる。
それとαチャンネルも考慮してるせいか、320*240以上の回転だと無理を感じる。
0133名前は開発中のものです。
2005/07/04(月) 13:12:22ID:DCOrN9qA0134名前は開発中のものです。
2005/07/10(日) 23:14:05ID:XW0Y5gBBエッジスキャンとか使えばちょっとは楽になるはず。
0135名前は開発中のものです。
2006/10/18(水) 21:23:30ID:kr96y9vb0136名前は開発中のものです。
2007/10/08(月) 05:35:01ID:Cw+Y3bqy? ???〓▲? ? ? ?????■??〓?? ? ? … .
? ▼ ??▼ .??■? ? ? ?¨ ∵? ? ・
?? ?? ? ?? ?? ???? ¨???????■■〓????
? ? ?■ ? ? ?????????■〓?? ?? ∴ ? .
? ? ?? ??????????? ? ∴ ….? ? ??
??? ???????????????? ? ??????
??????? ? ¨ ???■??? ? ? ∴‥
0137名前は開発中のものです。
2007/12/24(月) 22:22:57ID:vSGEO8zs0138名前は開発中のものです。
2008/07/28(月) 16:28:06ID:oDAbic6p0139名前は開発中のものです。
2008/07/28(月) 17:15:45ID:TZcaIn12形式が何から何にかぐらい書けよ…
0140138
2008/08/02(土) 00:45:13ID:2Dggsi0/2Dのアニメーションコンバートツールをさがしています。
flashとかを通して変換するのでもいいですが、
素材はphotoshopなんで座標の動きなどの抽出ができれば
特に形式はといません。てか、2Dの形式はあんま知らないんですよね。。
データに落とし込めれば何でもいいです。
調べながらやろうという感じですが、あんま検索してもでてこないんですよね。。
■ このスレッドは過去ログ倉庫に格納されています