09/11/14 12:29:23 0S0r62R2
二個目は動作処理→描画→Delay→Swapでした
連投申し訳ありません
478:名前は開発中のものです。
09/11/15 23:04:16 zpJnzLrg
映像信号は左から右へ1ドットずつ、それを上から下へ1ラインずつ送っているんだ
下まで送りきった後、また上から送りなおすまでに若干の準備期間があって
その期間が来るのを待つのが垂直同期待ち
描画が終わったからと言ってすぐSwapしてしまうと、
送信前と送信後の境目で映像を切り替えてしまうことがあり
ちらついたように見えてしまう
これを俗にティアリングと呼んでいる
垂直同期待ちをする場合はSwapの前に必ずDelayが入る
479:名前は開発中のものです。
09/11/15 23:29:35 C19h/pYA
言いたいことは分かるけど476が勘違いしそうだな
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。
480:名前は開発中のものです。
09/11/15 23:41:54 zpJnzLrg
あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。
補足サンクス。
481:名前は開発中のものです。
09/11/16 17:42:23 +8XK/sK6
>>476
Swap ってことはダブルバッファ使ってるって前提で言うと
1) 垂直同期待ち ON(SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定している)なら
SDL_GL_SwapBuffers() で自動的に垂直同期待ちするので SDL_Delay() などは必要ない。
処理→描画→SDL_GL_SwapBuffers()[自動でVBLANK待ち]
2) 垂直同期待ち OFF なら SDL_Delay() で適当な時間待って SDL_GL_SwapBuffers() を呼べばいいんじゃないだろうか。
処理→描画→SDL_Delay(適当)->SDL_GL_SwapBuffers()
1) はモニタのリフレッシュレート依存のフレームレートになる。
2) はティアリングするけど、自分でフレームレートの調整ができる。
ってとこじゃないだろうか。
ちなみに俺の環境(Debian) だと環境変数 __GL_SYNC_TO_VBLANK に
0 以外の値が入ってないと SDL_GL_SWAP_CONTROL に 1 を設定しても
垂直同期待ちしない。
482:名前は開発中のものです。
09/11/26 19:03:17 CidvYtOP
質問ですが、
FR・LGのROMの0xF00000~0xFDFFFFを
使っても大丈夫なのでしょうか
既出だったら申し訳ありません
483:名前は開発中のものです。
09/11/30 14:53:20 zYRTMWSr
SDL_FULLSCREEN で真ん中に寂しく表示される場合があ
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?
484:名前は開発中のものです。
09/11/30 17:17:02 KrKp2mDg
>どういう理由であれ、ハードウェアによる解像度変更ができない場合は
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。
だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。
485:名前は開発中のものです。
09/12/01 00:26:20 k3liZ+0u
mplayerがどうしてるかは知らんけど、たぶんオーバーレイってやつだと
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。
486:名前は開発中のものです。
09/12/01 05:20:13 q115eOhs
mplayer のログに YUV planner がどうの、と出るから
多分それだと思う。使ったことないや…
URLリンク(en.wikipedia.org)
487:名前は開発中のものです。
09/12/01 07:29:30 q115eOhs
ffmpegのチュートリアルが詳しかった。
URLリンク(www.dranger.com)
488:名前は開発中のものです。
09/12/01 19:43:38 JC6VUAq8
一番いいのは、ユーザーに選択させること。
こっちは800x600前提で作ってりゃいい
489:名前は開発中のものです。
09/12/01 21:18:45 q115eOhs
描画部をアダプタパターン的にリファクタリングしてス
ケーラを挟むようにした。とりあえず RGB のままでソ
フト的にスケールさせて、アプリ側に問題ないようなら
オーバレイを試してみるよ。
ffmpeg のライブラリ使うと変換も楽そうだし。
URLリンク(www.dranger.com)
>>485
ヒントサンクス。
490:名前は開発中のものです。
09/12/05 09:27:44 maU44PH4
URLリンク(cefiro.homelinux.org)
を参考にMinGW5.1.6にsmpeg 0.4.4を入れようとしているのですがmakeに失敗します。
いくつかのサイトで-lstdc++が必要とのことで
cd smpeg-0.4.4
env LIBS="-lstdc++" sh configure --prefix=/mingw
make
エラーの内容は
undefined reference to 'SDL_XXX'
undefined reference to '__cxa_pure_virtual'
などです。SDLはインストール済みで/mingw/lib/libSDL.aはあります。
どなたか解決策をご存知ないでしょうか。
491:名前は開発中のものです。
09/12/05 13:04:40 xcDdDp0c
>>490
make CC=g++ CXX=g++ LD=g++
と打つと成功する可能性があります。
492:名前は開発中のものです。
09/12/05 21:38:18 maU44PH4
>>491
アドバイスありがとうございます。
コンパイルやリンクにc++の代わりにg++を使うようになったのですがエラーメッセージは変わらずです・・・
エラーを出力して調べてみたところ
Warning: This library needs some functionality provided by -lSDLmain.
I have the capability to make that library automatically link in when
you link to this library. But I can only do this if you have a
shared version of the library, which you do not appear to have.
と出ていました。SDLがリンクできていないのがエラーの原因のようですが上記メッセージと関係あるでしょうか?
ちなみにPATHを通したC:/MinGW/binにはSDL.dllというshared libraryがあります。
もし何かわかる方がいたらアドバイスください。
493:名前は開発中のものです。
09/12/05 22:13:58 7PVQwHSV
>>492
SDL のダイナミックライブラリが見つからないと言っている。
libSDL.a はスタティックライブラリ。
494:名前は開発中のものです。
09/12/05 22:14:41 7PVQwHSV
ああ、dll はあるのか。
>>490 に書いてあるパスとよく見比べてみろ。
495:名前は開発中のものです。
09/12/06 00:58:57 J5Ambf4a
>>494
dllは/usr/local/binじゃなくて/mingw/binにインストールしたんですが、MSYSでecho $PATHとやると
.:/usr/local/bin:/mingw/bin:/bin:...
となっていてSDL.dllがおいてある/mingw/binはパスに入ってます・・・もうお手上げ
よく見たら
URLリンク(cefiro.homelinux.org)
のサイトにMinGWでコンパイルしたsmpeg-0.4.4のバイナリがおいてあるのでそれを/mingwに展開したらとりあえず使えるようになりました。
496:名前は開発中のものです。
09/12/06 08:18:47 tD3g+RMw
…
497:名前は開発中のものです。
09/12/27 21:37:15 E6vqQ5Mm
同じプログラムでSDLをダイナミックリンクしたものと、スタティックリンクしたものを作成したのですが、
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。
SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。
498:名前は開発中のものです。
09/12/28 02:47:12 Fq5F3Q16
>>497
標準出力に表示されない設定でコンパイルされたライブラリをリンクしてるだけでしょ
499:名前は開発中のものです。
09/12/28 02:50:41 ueppcxNQ
なんだこのデジャブは
500:名前は開発中のものです。
09/12/28 16:18:04 v3DIc8rS
>>498
1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...
--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...
501:名前は開発中のものです。
10/01/02 20:53:13 K2AtahHI
makeしたら負けだと思う
502:名前は開発中のものです。
10/01/02 22:20:06 WElBVpUZ
正月早々審議中ですがな
503:名前は開発中のものです。
10/01/03 22:45:29 v00n4e/G
floatに頼子だ割ったプログラムソースを目指す人のためのブランド「float志向」
504:名前は開発中のものです。
10/02/10 06:01:03 42Ej3nDs
SDL_MixerでBGMを任意の位置でループさせる方法はないものか・・・。
やっぱりSDL_Audioで作るしかないのかな
505:名前は開発中のものです。
10/02/10 14:20:15 Epllauxu
どうしてもSDL_Mixerでやりたきゃオーディオソースを切っちゃえばいいじゃん
どうせならOpenAL使おうぜ
506:名前は開発中のものです。
10/02/11 20:04:23 eol/wS6u
SDL_WM_SetCaptionで日本語を表示したいのですがどうすれば良いですか?
507:名前は開発中のものです。
10/02/11 22:32:07 TYw/tKcb
最新バージョンだと文字コードがUTF-8だったと思うんで変換して渡せばいいはず。
変換の仕方はググって下さい。
508:名前は開発中のものです。
10/02/12 05:23:48 50DkRwmT
>>505
ありがとうございます
509:名前は開発中のものです。
10/02/20 00:52:58 P6PcOv95
変換の仕方がわかりませんでした。
510:名前は開発中のものです。
10/02/21 10:34:00 w53qIXyc
こんなんあったよー。
Shift-JIS -> UTF8
URLリンク(www.atmark.gr.jp)
URLリンク(www2s.biglobe.ne.jp)
511:名前は開発中のものです。
10/02/21 16:56:39 3J1UUm0O
IBMのICUを使おうぜ
512:名前は開発中のものです。
10/02/21 19:59:42 ufBia+CD
変換できました。
UTF-8は可変長なのが糞。
513:名前は開発中のものです。
10/02/21 23:58:24 EauoWI/j
SDLdoc-jp を置いている tacoworks.jp の管理人です。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。
ドメイン名自体の変更はないので移転後も
URLリンク(www.tacoworks.jp) のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。