マルチプラットホームな汎用ゲームライブラリの
SDLについてのスレッドです。
最新情報、参考になるソース、質問等なんでもどうぞ
本家
ttp://www.libsdl.org/
SDL_mixer ttp://www.libsdl.org/projects/SDL_mixer/
SDL_image ttp://www.libsdl.org/projects/SDL_image/
SDLdoc-jp ttp://www.tacoworks.jp/software/SDLdoc-jp/
GamDev ttp://gamdev.org/w/?%5B%5BSDL%5D%5D
初心者の初心者による初心者の為のSDL ttp://tokyo.cool.ne.jp/sdl/
前スレ
http://pc8.2ch.net/test/read.cgi/gamedev/1005469181/
SDLスレ ver.2.0
■ このスレッドは過去ログ倉庫に格納されています
2006/02/28(火) 20:40:12ID:MvXDyxzs
479名前は開発中のものです。
2009/11/15(日) 23:29:35ID:C19h/pYA 言いたいことは分かるけど476が勘違いしそうだな
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。
480名前は開発中のものです。
2009/11/15(日) 23:41:54ID:zpJnzLrg あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。
補足サンクス。
補足サンクス。
481名前は開発中のものです。
2009/11/16(月) 17:42:23ID:+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 を設定しても
垂直同期待ちしない。
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名前は開発中のものです。
2009/11/26(木) 19:03:17ID:CidvYtOP 質問ですが、
FR・LGのROMの0xF00000〜0xFDFFFFを
使っても大丈夫なのでしょうか
既出だったら申し訳ありません
FR・LGのROMの0xF00000〜0xFDFFFFを
使っても大丈夫なのでしょうか
既出だったら申し訳ありません
483名前は開発中のものです。
2009/11/30(月) 14:53:20ID:zYRTMWSr SDL_FULLSCREEN で真ん中に寂しく表示される場合があ
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?
484名前は開発中のものです。
2009/11/30(月) 17:17:02ID:KrKp2mDg >どういう理由であれ、ハードウェアによる解像度変更ができない場合は
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。
だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。
だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。
485名前は開発中のものです。
2009/12/01(火) 00:26:20ID:k3liZ+0u mplayerがどうしてるかは知らんけど、たぶんオーバーレイってやつだと
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。
486名前は開発中のものです。
2009/12/01(火) 05:20:13ID:q115eOhs487名前は開発中のものです。
2009/12/01(火) 07:29:30ID:q115eOhs ffmpegのチュートリアルが詳しかった。
http://www.dranger.com/ffmpeg/tutorial02.html
http://www.dranger.com/ffmpeg/tutorial02.html
488名前は開発中のものです。
2009/12/01(火) 19:43:38ID:JC6VUAq8 一番いいのは、ユーザーに選択させること。
こっちは800x600前提で作ってりゃいい
こっちは800x600前提で作ってりゃいい
489名前は開発中のものです。
2009/12/01(火) 21:18:45ID:q115eOhs 描画部をアダプタパターン的にリファクタリングしてス
ケーラを挟むようにした。とりあえず RGB のままでソ
フト的にスケールさせて、アプリ側に問題ないようなら
オーバレイを試してみるよ。
ffmpeg のライブラリ使うと変換も楽そうだし。
http://www.dranger.com/ffmpeg/tutorial08.html
>>485
ヒントサンクス。
ケーラを挟むようにした。とりあえず RGB のままでソ
フト的にスケールさせて、アプリ側に問題ないようなら
オーバレイを試してみるよ。
ffmpeg のライブラリ使うと変換も楽そうだし。
http://www.dranger.com/ffmpeg/tutorial08.html
>>485
ヒントサンクス。
490名前は開発中のものです。
2009/12/05(土) 09:27:44ID:maU44PH4 ttp://cefiro.homelinux.org/topics/SDL/printable/setup-win32-mingw-1.1-20030402.html
を参考に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はあります。
どなたか解決策をご存知ないでしょうか。
を参考に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名前は開発中のものです。
2009/12/05(土) 13:04:40ID:xcDdDp0c492名前は開発中のものです。
2009/12/05(土) 21:38:18ID: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があります。
もし何かわかる方がいたらアドバイスください。
アドバイスありがとうございます。
コンパイルやリンクに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名前は開発中のものです。
2009/12/05(土) 22:13:58ID:7PVQwHSV494名前は開発中のものです。
2009/12/05(土) 22:14:41ID:7PVQwHSV495名前は開発中のものです。
2009/12/06(日) 00:58:57ID:J5Ambf4a >>494
dllは/usr/local/binじゃなくて/mingw/binにインストールしたんですが、MSYSでecho $PATHとやると
.:/usr/local/bin:/mingw/bin:/bin:...
となっていてSDL.dllがおいてある/mingw/binはパスに入ってます・・・もうお手上げ
よく見たら
ttp://cefiro.homelinux.org/topics/SDL/printable/setup-win32-mingw-1.1-20030402.html
のサイトにMinGWでコンパイルしたsmpeg-0.4.4のバイナリがおいてあるのでそれを/mingwに展開したらとりあえず使えるようになりました。
dllは/usr/local/binじゃなくて/mingw/binにインストールしたんですが、MSYSでecho $PATHとやると
.:/usr/local/bin:/mingw/bin:/bin:...
となっていてSDL.dllがおいてある/mingw/binはパスに入ってます・・・もうお手上げ
よく見たら
ttp://cefiro.homelinux.org/topics/SDL/printable/setup-win32-mingw-1.1-20030402.html
のサイトにMinGWでコンパイルしたsmpeg-0.4.4のバイナリがおいてあるのでそれを/mingwに展開したらとりあえず使えるようになりました。
496名前は開発中のものです。
2009/12/06(日) 08:18:47ID:tD3g+RMw …
497名前は開発中のものです。
2009/12/27(日) 21:37:15ID:E6vqQ5Mm 同じプログラムでSDLをダイナミックリンクしたものと、スタティックリンクしたものを作成したのですが、
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。
SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。
SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。
498名前は開発中のものです。
2009/12/28(月) 02:47:12ID:Fq5F3Q16499名前は開発中のものです。
2009/12/28(月) 02:50:41ID:ueppcxNQ なんだこのデジャブは
500名前は開発中のものです。
2009/12/28(月) 16:18:04ID:v3DIc8rS >>498
1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...
--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...
1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...
--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...
501名前は開発中のものです。
2010/01/02(土) 20:53:13ID:K2AtahHImakeしたら負けだと思う
502名前は開発中のものです。
2010/01/02(土) 22:20:06ID:WElBVpUZ 正月早々審議中ですがな
503名前は開発中のものです。
2010/01/03(日) 22:45:29ID:v00n4e/G floatに頼子だ割ったプログラムソースを目指す人のためのブランド「float志向」
504名前は開発中のものです。
2010/02/10(水) 06:01:03ID:42Ej3nDs SDL_MixerでBGMを任意の位置でループさせる方法はないものか・・・。
やっぱりSDL_Audioで作るしかないのかな
やっぱりSDL_Audioで作るしかないのかな
505名前は開発中のものです。
2010/02/10(水) 14:20:15ID:Epllauxu どうしてもSDL_Mixerでやりたきゃオーディオソースを切っちゃえばいいじゃん
どうせならOpenAL使おうぜ
どうせならOpenAL使おうぜ
506名前は開発中のものです。
2010/02/11(木) 20:04:23ID:eol/wS6u SDL_WM_SetCaptionで日本語を表示したいのですがどうすれば良いですか?
507名前は開発中のものです。
2010/02/11(木) 22:32:07ID:TYw/tKcb 最新バージョンだと文字コードがUTF-8だったと思うんで変換して渡せばいいはず。
変換の仕方はググって下さい。
変換の仕方はググって下さい。
508名前は開発中のものです。
2010/02/12(金) 05:23:48ID:50DkRwmT >>505
ありがとうございます
ありがとうございます
509名前は開発中のものです。
2010/02/20(土) 00:52:58ID:P6PcOv95 変換の仕方がわかりませんでした。
510名前は開発中のものです。
2010/02/21(日) 10:34:00ID:w53qIXyc こんなんあったよー。
Shift-JIS -> UTF8
ttp://www.atmark.gr.jp/~s2000/r/rtl/encode.html
ttp://www2s.biglobe.ne.jp/~satosi/soft/sjis2utf8.h
Shift-JIS -> UTF8
ttp://www.atmark.gr.jp/~s2000/r/rtl/encode.html
ttp://www2s.biglobe.ne.jp/~satosi/soft/sjis2utf8.h
511名前は開発中のものです。
2010/02/21(日) 16:56:39ID:3J1UUm0O IBMのICUを使おうぜ
512名前は開発中のものです。
2010/02/21(日) 19:59:42ID:ufBia+CD 変換できました。
UTF-8は可変長なのが糞。
UTF-8は可変長なのが糞。
513名前は開発中のものです。
2010/02/21(日) 23:58:24ID:EauoWI/j SDLdoc-jp を置いている tacoworks.jp の管理人です。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。
ドメイン名自体の変更はないので移転後も
ttp://www.tacoworks.jp/software/SDLdoc-jp/ のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。
ドメイン名自体の変更はないので移転後も
ttp://www.tacoworks.jp/software/SDLdoc-jp/ のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。
514名前は開発中のものです。
2010/02/27(土) 21:52:04ID:EEwTwLby openglを使う時に最初の画面が真っ白になるのを回避できませんか?
できれば画像を読み込んで、いきなりそれを表示したいのですが。
できれば画像を読み込んで、いきなりそれを表示したいのですが。
515名前は開発中のものです。
2010/03/04(木) 02:20:13ID:UchClD6H >514
もしかしてSDL_SetVideoModeしてから最初のSDL_GL_SwapBuffersを呼ぶまでの時間が長いんじゃないのか?
ファイルの読み込みとか
もしかしてSDL_SetVideoModeしてから最初のSDL_GL_SwapBuffersを呼ぶまでの時間が長いんじゃないのか?
ファイルの読み込みとか
516名前は開発中のものです。
2010/03/05(金) 22:08:24ID:hwXnLLqk いえ、別に何もしていませんが、最初の一瞬だけ真っ白になります。
それが嫌なのです。
それが嫌なのです。
517名前は開発中のものです。
2010/03/08(月) 13:08:12ID:CzYN7Tsj518名前は開発中のものです。
2010/03/08(月) 18:55:21ID:Bw1LtACR #include <SDL.h>
#include <SDL_opengl.h>
#include <windows.h>
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")
void End(); // 終了処理
bool PollEvent(); // イベント処理
bool Init();
SDL_Surface *gScreenSurface;
int main(int argc, char* argv[])
{
// 初期化
if( !Init() ){
printf( "初期化に失敗しました" );
return 0;
}
// メインループ
while( 1 ){
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
// 四角形を描く
glBegin(GL_QUADS);
// 描画色を白に設定
glColor3f(1.0, 0.0f, 0.0);
#include <SDL_opengl.h>
#include <windows.h>
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")
void End(); // 終了処理
bool PollEvent(); // イベント処理
bool Init();
SDL_Surface *gScreenSurface;
int main(int argc, char* argv[])
{
// 初期化
if( !Init() ){
printf( "初期化に失敗しました" );
return 0;
}
// メインループ
while( 1 ){
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
// 四角形を描く
glBegin(GL_QUADS);
// 描画色を白に設定
glColor3f(1.0, 0.0f, 0.0);
519名前は開発中のものです。
2010/03/08(月) 18:59:11ID:Bw1LtACR // 4つの頂点を指定
glVertex3f(100.0f, 100.0f, 0);
glVertex3f(540.0f, 100.0f, 0);
glVertex3f(540.0f, 380.0f, 0);
glVertex3f(100.0f, 380.0f, 0);
glEnd();
// 更新を画面に反映する
SDL_GL_SwapBuffers();
// イベント処理
if( !PollEvent() )break;
}
// 終了処理
End();
return 0;
}
// 初期化処理
bool Init()
{
// SDLの初期化
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )return false;
SDL_WM_SetCaption("test", NULL);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
// ウィンドウの初期化
gScreenSurface = SDL_SetVideoMode(640,480,32,SDL_OPENGL | SDL_HWSURFACE);
glOrtho(0.0, 640, 480, 0.0, -1.0, 1.0);
glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
glVertex3f(100.0f, 100.0f, 0);
glVertex3f(540.0f, 100.0f, 0);
glVertex3f(540.0f, 380.0f, 0);
glVertex3f(100.0f, 380.0f, 0);
glEnd();
// 更新を画面に反映する
SDL_GL_SwapBuffers();
// イベント処理
if( !PollEvent() )break;
}
// 終了処理
End();
return 0;
}
// 初期化処理
bool Init()
{
// SDLの初期化
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )return false;
SDL_WM_SetCaption("test", NULL);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
// ウィンドウの初期化
gScreenSurface = SDL_SetVideoMode(640,480,32,SDL_OPENGL | SDL_HWSURFACE);
glOrtho(0.0, 640, 480, 0.0, -1.0, 1.0);
glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
520名前は開発中のものです。
2010/03/08(月) 19:03:11ID:Bw1LtACR glClear(GL_COLOR_BUFFER_BIT);
return true;
}
// 終了処理
void End()
{
// SDLの終了
SDL_Quit();
}
// イベント処理
bool PollEvent()
{
SDL_Event ev;
SDLKey *key;
while(SDL_PollEvent(&ev) )
{
switch(ev.type){
case SDL_QUIT:// ウィンドウの×ボタンが押された時など
return false;
break;
case SDL_KEYDOWN:// キーボードからの入力があった時
{
key=&(ev.key.keysym.sym); // どのキーが押されたかを取得
if(*key==27){// ESCキー
return false;
}
}
}
}
return true;
}
return true;
}
// 終了処理
void End()
{
// SDLの終了
SDL_Quit();
}
// イベント処理
bool PollEvent()
{
SDL_Event ev;
SDLKey *key;
while(SDL_PollEvent(&ev) )
{
switch(ev.type){
case SDL_QUIT:// ウィンドウの×ボタンが押された時など
return false;
break;
case SDL_KEYDOWN:// キーボードからの入力があった時
{
key=&(ev.key.keysym.sym); // どのキーが押されたかを取得
if(*key==27){// ESCキー
return false;
}
}
}
}
return true;
}
521名前は開発中のものです。
2010/03/08(月) 19:07:50ID:Bw1LtACR 上のコードを試してみて下さい。
真っ白なウインドウが出てからちょっとしたら赤い四角形が出てくる
のですが、最初からいきなり赤い四角を表示したいのです。
真っ白なウインドウが出てからちょっとしたら赤い四角形が出てくる
のですが、最初からいきなり赤い四角を表示したいのです。
522名前は開発中のものです。
2010/03/08(月) 20:31:19ID:Kg6b0q6C >>521
OS: windowsXP sp3
コンパイラ: gcc version 3.4.5 (mingw-vista special r3)
コンパイルコマンド: g++ hogehoge.cpp `sdl-config --cflags --libs` -lglu32 -lglut32 -lopengl32
私の環境では初回起動時に一瞬、背景が透明なウィンドウが生成されてから、中身が表示されました。
二回目以降は最初から白の背景に赤い四角が表示されます。
OS: windowsXP sp3
コンパイラ: gcc version 3.4.5 (mingw-vista special r3)
コンパイルコマンド: g++ hogehoge.cpp `sdl-config --cflags --libs` -lglu32 -lglut32 -lopengl32
私の環境では初回起動時に一瞬、背景が透明なウィンドウが生成されてから、中身が表示されました。
二回目以降は最初から白の背景に赤い四角が表示されます。
523名前は開発中のものです。
2010/03/08(月) 23:00:18ID:vwTt08PI 通りすがり
OS : Linux 2.6.18-164.11.1.el5.centos.plus i686 i386
コンパイラ : cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
コマンド : cc piyo.cxx `sdl-config --cflags --libs` -lglut
背景が黒のウィンドウができてから白の背景に赤の矩形が表示された
OS : Linux 2.6.18-164.11.1.el5.centos.plus i686 i386
コンパイラ : cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
コマンド : cc piyo.cxx `sdl-config --cflags --libs` -lglut
背景が黒のウィンドウができてから白の背景に赤の矩形が表示された
524名前は開発中のものです。
2010/03/09(火) 01:09:04ID:Vf4aRsZC SDLがウィンドウ関連の処理にてこずってるようにも見える。
苦肉の策として サイズ(1 x 1) でウィンドウを作っておいてから
初期化が終わったあとでサイズ変更(or 作り直す)すると
まだマシかもしれない。
苦肉の策として サイズ(1 x 1) でウィンドウを作っておいてから
初期化が終わったあとでサイズ変更(or 作り直す)すると
まだマシかもしれない。
525名前は開発中のものです。
2010/03/09(火) 20:29:54ID:cbWSj+ct 関係ないけど
>glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
これ変じゃない?
>glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
これ変じゃない?
526名前は開発中のものです。
2010/03/09(火) 22:19:00ID:SrDy9O7H 画面上をクリックするゲームを作ってるんですが、
画面上でマウスカーソルを動かしまくるとイベントを受け付けないフレームが出てきます。
どうすればいいですか。
画面上でマウスカーソルを動かしまくるとイベントを受け付けないフレームが出てきます。
どうすればいいですか。
527526
2010/03/09(火) 23:01:04ID:SrDy9O7H すいません。自己解決しました。
イベントキューからイベントを取り出してないだけみたいでした。
イベントキューからイベントを取り出してないだけみたいでした。
528名前は開発中のものです。
2010/05/16(日) 18:10:10ID:06+3luLg 下のコード動かすと画像表示しないで画面が真っ黒になります。
イベントハンドラのセット(SDL_SetEventFilter(&filterEventsHandler);)
を画像転送の後に配置すると画像表示されるんですけど
そういうものなんですか?何かルールありますのですか?
以下ソース(D言語)
-----------
void main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE);
SDL_SetEventFilter(&filterEventsHandler); // イベントハンドラ
// ビットマップ読込
SDL_Surface *image = SDL_LoadBMP("hell.bmp");
// 転送
SDL_BlitSurface(image, cast(SDL_Rect*)0, screen, cast(SDL_Rect*)0);
// イベントループ
bool done = false;
SDL_Event e;
while ( !done ) {
while ( SDL_PollEvent(&e) ) {
done = e.type == SDL_QUIT;
}
SDL_Delay(1000/30);
}
SDL_Quit();
}
イベントハンドラのセット(SDL_SetEventFilter(&filterEventsHandler);)
を画像転送の後に配置すると画像表示されるんですけど
そういうものなんですか?何かルールありますのですか?
以下ソース(D言語)
-----------
void main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE);
SDL_SetEventFilter(&filterEventsHandler); // イベントハンドラ
// ビットマップ読込
SDL_Surface *image = SDL_LoadBMP("hell.bmp");
// 転送
SDL_BlitSurface(image, cast(SDL_Rect*)0, screen, cast(SDL_Rect*)0);
// イベントループ
bool done = false;
SDL_Event e;
while ( !done ) {
while ( SDL_PollEvent(&e) ) {
done = e.type == SDL_QUIT;
}
SDL_Delay(1000/30);
}
SDL_Quit();
}
529528
2010/05/16(日) 18:22:50ID:06+3luLg SDL_Flip( screen );
したら表示されました。イベントハンドラ設定したら
プライマリサーフェイスがクリアされるとか・・・?
わからねえ
したら表示されました。イベントハンドラ設定したら
プライマリサーフェイスがクリアされるとか・・・?
わからねえ
530名前は開発中のものです。
2010/05/16(日) 18:29:59ID:liwIcFmL SDL_SetVideoModeのことろで、
SDL_DOUBLEBUFも指定しない場合、
SDL_Flip以外でも「誤って」画面表示される場合があります。
SDL_DOUBLEBUFも指定しない場合、
SDL_Flip以外でも「誤って」画面表示される場合があります。
532名前は開発中のものです。
2010/05/26(水) 23:52:18ID:vxXpWbeN ウィンドウを最大化状態から、「元の大きさに戻す」をした場合に、
SDL_ResizeEvent が発生しないのは仕様なのでしょうか。
WindowsXP です。
SDL_ResizeEvent が発生しないのは仕様なのでしょうか。
WindowsXP です。
533名前は開発中のものです。
2010/06/15(火) 06:08:43ID:uiRYjjiv openalで音出せなくて泣きそうになってたけど、
sdlでやってみたら何の苦労もなく音鳴らせた。
難しいものだな。
sdlでやってみたら何の苦労もなく音鳴らせた。
難しいものだな。
534名前は開発中のものです。
2010/06/16(水) 02:46:18ID:6fxhLOX2 ttp://www.kekkai.org/roger/sdl/index.html
ここがすごく良かったです。
ここがすごく良かったです。
535名前は開発中のものです。
2010/06/17(木) 03:30:58ID:/dRDvNuV keysymの"sym"ってどういう意味ですか?
何かの略語でしょうか?
何かの略語でしょうか?
536名前は開発中のものです。
2010/06/17(木) 12:00:01ID:98v+kB9R symbol
538名前は開発中のものです。
2010/08/01(日) 10:17:44ID:mluWnsAb GUI(ボタンとか)で使いやすいLIBってどれでしょうか?
軽めのやつで
軽めのやつで
539名前は開発中のものです。
2010/08/15(日) 22:37:48ID:67G99BX9 WindowsでSDL使っています
ウィンドウのタイトルバーをドラッグしてるときに
処理がとまらないようにするにはどうすればいいんでしょうか
ウィンドウのタイトルバーをドラッグしてるときに
処理がとまらないようにするにはどうすればいいんでしょうか
540名前は開発中のものです。
2010/08/17(火) 08:20:53ID:zMkGM+He SDLのソースを書き換えてWM_MOVEを別スレッドで処理すればできると思うけどオススメはしない
542名前は開発中のものです。
2010/09/22(水) 02:09:41ID:4CYDiRJs543名前は開発中のものです。
2010/09/29(水) 00:35:38ID:7qsETlO/ そんなもん俺ライブラリの一つに過ぎないんだから流行ってるも何も
SDLの人気の理由の一つとしてシンプルで簡単というのがあるけど
.NETは簡単にGPU使えちゃうからな
ブラウザ上で動く.NETのSilverlightなんかでもSDLとは比べ物にならないパフォーマンス出るんだぜ
SDLの人気の理由の一つとしてシンプルで簡単というのがあるけど
.NETは簡単にGPU使えちゃうからな
ブラウザ上で動く.NETのSilverlightなんかでもSDLとは比べ物にならないパフォーマンス出るんだぜ
544名前は開発中のものです。
2010/09/29(水) 10:13:58ID:XTWVB9DN DirectXやXNAの話か?
そっちの方が将来性あるしいいか。
そっちの方が将来性あるしいいか。
545名前は開発中のものです。
2011/02/09(水) 01:09:53ID:fPY7Ts0h 古いバージョンのsdlが欲しいのですが…
MacOS9用のsdlが本家で見つかりません。
MacOS9用のsdlが本家で見つかりません。
546名前は開発中のものです。
2011/02/09(水) 01:19:10ID:fPY7Ts0h547名前は開発中のものです。
2011/02/09(水) 18:02:56ID:gbbiuBkv SDLのサイトが壊滅的に使いづらいのは仕様
548名前は開発中のものです。
2011/03/01(火) 20:27:17.27ID:wrZkViYa SDLで日本語入力を実装したいのですが、SDL_inputmethod、SDL_textmanager、SKK
どれがついすやすいのでしょう?
どれがついすやすいのでしょう?
549名前は開発中のものです。
2011/03/02(水) 02:43:07.95ID:3VhYuOVm 懐かしいな、SDL。昔WindowsとMacOS9で同時開発しなくちゃならなくてこれも検討したな。
結局使わずにWindows用の自社ライブラリ移植したんだけど、どうして採用しなかったか
理由忘れちまった。
結局使わずにWindows用の自社ライブラリ移植したんだけど、どうして採用しなかったか
理由忘れちまった。
550名前は開発中のものです。
2011/04/08(金) 19:08:36.82ID:3vhfM6We 書き込みテストも兼ねて・・・
なんであまり普及してないんだ?便利だと思うんだが・・・
OpenGL使ってて、ゲーム作るならGLUTよりSDL!と言われてたのに
なんであまり普及してないんだ?便利だと思うんだが・・・
OpenGL使ってて、ゲーム作るならGLUTよりSDL!と言われてたのに
551名前は開発中のものです。
2011/04/08(金) 19:39:04.03ID:SgksuAsW してなくは無いだろ
SDL.dllが同梱されてるゲームやデモは結構あるぞ
SDL.dllが同梱されてるゲームやデモは結構あるぞ
552名前は開発中のものです。
2011/04/08(金) 19:47:03.15ID:RwixZFmm ここだけしか見てないんだろ
553550
2011/04/09(土) 13:24:10.96ID:0+0X4wI/ サーセンw
でもやっぱ資料が見つかりやすくはない・・
日本語にこだわるからかもしれんがorz
使うのが簡単とは言っても初心者にもおすすめって感じでは無いのか・・・?
更新が途中で数年止まってる入門サイトとか、リンク切れしてるサイトとかあったから
もう廃れたのかと思ってしまった
でもやっぱ資料が見つかりやすくはない・・
日本語にこだわるからかもしれんがorz
使うのが簡単とは言っても初心者にもおすすめって感じでは無いのか・・・?
更新が途中で数年止まってる入門サイトとか、リンク切れしてるサイトとかあったから
もう廃れたのかと思ってしまった
554名前は開発中のものです。
2011/04/09(土) 13:47:45.09ID:W/U0DtuT ライブラリの使い方(個々の関数の仕様)を知りたいのか、
SDLを使ったゲーム作りのチュートリアルを知りたいのかわからん。
SDLを使ったゲーム作りのチュートリアルを知りたいのかわからん。
555550
2011/04/09(土) 16:52:40.30ID:0+0X4wI/ 両方ですがどちらかと言うと後者です
今までは検索すれば入門サイトが2つも3つも出てくる環境でやってたので
もしかしたら探し方が甘いだけかもしれんが・・・
自分が探してるのはSDL自体の使い方というより、
SDL(SDL_imageなども)とOpenGLで作る2D、3Dゲームのごく基本的な部分
例えば画像を読み込んでテクスチャにしたりとかそのあたり
関数の仕様等は調べられるけど、具体的で決定的な使い方がわからず
「これでいいのか・・・?」といった状態です・・・
今までは検索すれば入門サイトが2つも3つも出てくる環境でやってたので
もしかしたら探し方が甘いだけかもしれんが・・・
自分が探してるのはSDL自体の使い方というより、
SDL(SDL_imageなども)とOpenGLで作る2D、3Dゲームのごく基本的な部分
例えば画像を読み込んでテクスチャにしたりとかそのあたり
関数の仕様等は調べられるけど、具体的で決定的な使い方がわからず
「これでいいのか・・・?」といった状態です・・・
556名前は開発中のものです。
2011/04/09(土) 17:26:40.81ID:5I2upZsh 「sdl_surface texture」でわんさか出てくるんで、確かにこれ探せないなら使うの辛いかもな。
557550
2011/04/09(土) 17:42:33.83ID:0+0X4wI/ 本当だ・・・orz
558550
2011/04/09(土) 18:26:07.67ID:0+0X4wI/ いろんな例のサイトがありますが自分なりにまとめてみます
ありがとうございました。
ありがとうございました。
559名前は開発中のものです。
2011/04/10(日) 16:33:33.85ID:4SC+Y1ca 連投ばかりスマソ
うーん、、、いっぱい検索して調べれば最後にはなんとかなるけど
やっぱ初心者が容易にとっつける物ではない感じ
わがままかもしれないが、もうちょい至れり尽くせりなサイトがあってもバチは当たらないとも思った
SDL+OpenGLはクロスプラットフォームで有望な選択肢だと思ったし、いつか自分でまとめたいと思った
うーん、、、いっぱい検索して調べれば最後にはなんとかなるけど
やっぱ初心者が容易にとっつける物ではない感じ
わがままかもしれないが、もうちょい至れり尽くせりなサイトがあってもバチは当たらないとも思った
SDL+OpenGLはクロスプラットフォームで有望な選択肢だと思ったし、いつか自分でまとめたいと思った
560名前は開発中のものです。
2011/04/10(日) 21:11:36.60ID:kKxf3jYA561名前は開発中のものです。
2011/04/13(水) 23:41:29.65ID:NUdI+73N http://hg.libsdl.org/SDL/file/05af1b9ff46d/test/testgl.c
これとSDLのAPIリファレンス見ればだいたい分かるはず。
SDLとかGLUTは描画に専念できるから導入にはいいと思う。
これとSDLのAPIリファレンス見ればだいたい分かるはず。
SDLとかGLUTは描画に専念できるから導入にはいいと思う。
562名前は開発中のものです。
2011/04/16(土) 04:52:16.64ID:erZQeP4t これは本当にありがたい、サンクスです。
563名前は開発中のものです。
2011/04/16(土) 12:07:50.70ID:3baNslMI GLUTなんて使ってゲーム作る人は
DirextXのときはDXUTを使うんだろうか。
DirextXのときはDXUTを使うんだろうか。
564名前は開発中のものです。
2011/04/17(日) 20:23:10.05ID:ZBQovyV1 GLUTって数値計算シミュレーションの可視化とかに使うもんでしょ
DirectXで2Dゲームなら素のままで十分いける
DirectXで2Dゲームなら素のままで十分いける
565名前は開発中のものです。
2011/04/17(日) 20:40:20.64ID:86l2Ce3f 別にDirectXでシミュレーションしたっていいんだよ。
大学とかだと研究用PCがLinuxだからOpenGLの例が公開されてるだけで。
そういう時にToolkitとして使われるのがGLUT。
大学とかだと研究用PCがLinuxだからOpenGLの例が公開されてるだけで。
そういう時にToolkitとして使われるのがGLUT。
566名前は開発中のものです。
2011/04/17(日) 20:48:13.96ID:Wu+6B6Fq >564
久しぶりに言ってみるか。
お前は何を言っているんだ?
久しぶりに言ってみるか。
お前は何を言っているんだ?
567名前は開発中のものです。
2011/04/18(月) 05:17:05.14ID:DVr4ycfQ GLUTではウィンドウの移動ができたのに
SDLではなんでできないんだろう・・・
SDLではなんでできないんだろう・・・
568名前は開発中のものです。
2011/04/18(月) 11:08:19.73ID:tjFZajkk >>567
SDL 1.2の頃はまだ不要だと考えてたんじゃない?
SDL 1.3ならSDL_SetWindowPosition()があるよ。
ttp://wiki.libsdl.org/moin.cgi/SDL_SetWindowPosition
SDL 1.2の頃はまだ不要だと考えてたんじゃない?
SDL 1.3ならSDL_SetWindowPosition()があるよ。
ttp://wiki.libsdl.org/moin.cgi/SDL_SetWindowPosition
569名前は開発中のものです。
2011/04/19(火) 09:45:24.35ID:6iXFyxX4 1.3からはマルチウインドウに対応するんだっけ
窓そのものをキャラクタに見立てたウザシューティングが作れるな
窓そのものをキャラクタに見立てたウザシューティングが作れるな
570名前は開発中のものです。
2011/04/19(火) 17:05:15.95ID:I6Qru0C5 なるほど、thxです。1.3に期待。
571名前は開発中のものです。
2011/04/19(火) 17:15:00.06ID:p5erbUzU だいぶ待ってるんだが、リリースいつになるんだろうなあ。
現状普通に使えるの?
現状普通に使えるの?
572名前は開発中のものです。
2011/04/20(水) 09:14:39.26ID:nhxAMt4z >>571
つまり、現バージョンまでを一度も使用せず、次バージョンを待ってると?
つまり、現バージョンまでを一度も使用せず、次バージョンを待ってると?
573名前は開発中のものです。
2011/04/20(水) 10:11:21.19ID:bUP197ZB 安定版にしか興味がないならSDL 1.2一択かな。
SDL 1.3には1.2にない機能が入っているから、
それらに興味があるなら1.3を使い始めればいいと思う。
SDL 1.3には1.2にない機能が入っているから、
それらに興味があるなら1.3を使い始めればいいと思う。
574名前は開発中のものです。
2011/04/20(水) 10:21:22.66ID:er++fOcK いや、1.2は使い倒してる
1.3はwarning under construction! とか書いてあるけど
やっぱどっか未実装だったりすんのかなあって
1.3はwarning under construction! とか書いてあるけど
やっぱどっか未実装だったりすんのかなあって
575名前は開発中のものです。
2011/04/20(水) 11:35:26.85ID:xWfKJzFy これ見ながら
http://www.opengl.org/wiki/Tutorial1:_Creating_a_Cross_Platform_OpenGL_3.2_Context_in_SDL_%28C_/_SDL%29
早速1.3を使ってみたけど、
これは動いたが自分のプログラムはSDL_imageのIMG_Loadで落ちるようになった。
何がいけないんだろうか。
http://www.opengl.org/wiki/Tutorial1:_Creating_a_Cross_Platform_OpenGL_3.2_Context_in_SDL_%28C_/_SDL%29
早速1.3を使ってみたけど、
これは動いたが自分のプログラムはSDL_imageのIMG_Loadで落ちるようになった。
何がいけないんだろうか。
576名前は開発中のものです。
2011/04/20(水) 12:32:38.37ID:bUP197ZB577名前は開発中のものです。
2011/04/20(水) 12:33:49.11ID:bUP197ZB578名前は開発中のものです。
2011/04/20(水) 16:26:49.25ID:xWfKJzFy コンパイル済みのBinaryのを使ってましたorz
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【文春】《記事予告》国民的女優&人気俳優 不倫スクープ第2弾 ★4 [Ailuropoda melanoleuca★]
- 米価高騰が日本人のコメ離れに拍車かける 茶わん1杯のごはんは4枚切り食パン1枚より高額の時代 ★3 [首都圏の虎★]
- 【長野】胸に七つの傷があるクマ、駆除される 4月に男女3人を襲った個体と見られる [シャチ★]
- イギリス、反移民を掲げる右派ポピュリスト政党が1600議席中677議席の大躍進―英地方議会選 ★2 [お断り★]
- 【巨人】岡本和真 初回の交錯プレーで負傷交代 左腕が逆方向にグニャリ…数分間もん絶 [ひかり★]
- 国民玉木氏「消費税は一律に下げた方がシンプルで負担減」 食料品税率0%「飲食店に負担」など立憲案を疑問視 ★2 [蚤の市★]
- ゴールデンウィークの思い出を語るお🏡
- 【訃報】黒い三連星、ニャアンに殺される 原作キャラを踏み台にするのやめろよ…ガンダムへの冒涜だろ… [579392623]
- 【GW暇な奴来い】安価で指定されたものを全力で探してうpするスレ【反省会】
- 【悲報】公務員、なんと7%の賃上げを要求 ⇐こんなことが許されていいの?税金から給料もらってるのに [872395959]
- デリヘル呼びたいけどコミュ障餓鬼体型だからコンプで楽しめなくてつらい
- 【速報】文春砲「某国民的女優の不倫第二弾」 [606757419]