DirectXなんて捨てちまえ。
これからはSDL。
本家
http://www.libsdl.org/index.php
ゲームとか
http://adas.lolipop.jp/digit/index.php?SDL
サンプル
http://saka.moo.jp/Linux/SDL.html
探検
SDL=Simple DirectMedia Layerでゲームだ
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
NGNG260デフォルトの名無しさん
2006/02/20(月) 01:19:22 LGPLのライブラリって多いから、毛嫌いもしてられないって感じだね。
FSFとしては、LGPLを将来的に無くしてしまうつもりとかあるのかな。非推奨とか言ってるけど。
続いて欲しいな・・・。
FSFとしては、LGPLを将来的に無くしてしまうつもりとかあるのかな。非推奨とか言ってるけど。
続いて欲しいな・・・。
261デフォルトの名無しさん
2006/02/20(月) 09:00:31262デフォルトの名無しさん
2006/02/20(月) 09:16:12 >>261
信用出来ないって、書かれている事が全てだよ。
戦略的だからこそ、信用出来ると思うけどね。Lesser という名前を付けてまで LGPL を
設けなきゃいけない理由は皆知ってるし。無くなれば非難囂々でしょう。
あんまり的外れな議論をしてると GPL 信者が寄って来るよ。
「信用出来ないなら使わなきゃいーじゃん」って。
信用出来ないって、書かれている事が全てだよ。
戦略的だからこそ、信用出来ると思うけどね。Lesser という名前を付けてまで LGPL を
設けなきゃいけない理由は皆知ってるし。無くなれば非難囂々でしょう。
あんまり的外れな議論をしてると GPL 信者が寄って来るよ。
「信用出来ないなら使わなきゃいーじゃん」って。
263デフォルトの名無しさん
2006/02/20(月) 10:22:41 もちろん使ってなどいない
264デフォルトの名無しさん
2006/02/20(月) 10:26:50 では、何でここに居る?
265デフォルトの名無しさん
2006/02/23(木) 14:40:21 >>255
>改変した SDL でリンク出来るようにしておかないとダメ。
これはSDLがどのような形になるか不明であるため
ソースコードを提供しなければ履行できないのではないか
たとえば関数の引数が変わればリンクはできないなど
SDL側の改変の幅がわからなければ対応しようもない
>改変した SDL でリンク出来るようにしておかないとダメ。
これはSDLがどのような形になるか不明であるため
ソースコードを提供しなければ履行できないのではないか
たとえば関数の引数が変わればリンクはできないなど
SDL側の改変の幅がわからなければ対応しようもない
266デフォルトの名無しさん
2006/02/24(金) 08:31:33 互換性失うような改変にまで対応する責任はないよ。
互換性保ったまま改変した SDL に対して、正常にリンク・動作できればいい。
# …っていうか、疑問があったら読もうよ、ライセンス。
# これもちゃんと書いてあったし。
互換性保ったまま改変した SDL に対して、正常にリンク・動作できればいい。
# …っていうか、疑問があったら読もうよ、ライセンス。
# これもちゃんと書いてあったし。
267デフォルトの名無しさん
2006/02/24(金) 12:10:00 ゲ板のSDLスレ、dat落ちしてない?
268デフォルトの名無しさん
2006/02/24(金) 13:02:47 2月17日最終書き込みでDAT落ちしてるっぽい
980超えたからだな
1000いってないから2chミラーサイトに拾われないので
ログは持ってたほうがいいよ
980超えたからだな
1000いってないから2chミラーサイトに拾われないので
ログは持ってたほうがいいよ
269デフォルトの名無しさん
2006/02/27(月) 01:37:38 やっぱ落ちてたのか。
誰かあっちにパート2立ててくれないかな・・・。
俺の環境じゃなんか新スレ立てに失敗してしまう・・・。
誰かあっちにパート2立ててくれないかな・・・。
俺の環境じゃなんか新スレ立てに失敗してしまう・・・。
270デフォルトの名無しさん
2006/02/28(火) 20:42:04 >>269
SDLスレ ver.2.0
http://pc8.2ch.net/test/read.cgi/gamedev/1141126812/
立てたよ
オレも向こうの板のほうがID出るから好きだし
SDLスレ ver.2.0
http://pc8.2ch.net/test/read.cgi/gamedev/1141126812/
立てたよ
オレも向こうの板のほうがID出るから好きだし
271デフォルトの名無しさん
2006/04/16(日) 21:56:55 寂れてる
272デフォルトの名無しさん
2006/04/21(金) 16:36:20 それなりに情報があるから会話が必要ないのかな
これだけ整備されてるとアイデア勝負だから時々絶望する
これだけ整備されてるとアイデア勝負だから時々絶望する
273デフォルトの名無しさん
2006/04/21(金) 23:31:29 ゲームはアイデアよりバランスと構成勝負
Aba氏とか見て絶望する必要はない。彼は所詮アマチュア。
Aba氏とか見て絶望する必要はない。彼は所詮アマチュア。
274デフォルトの名無しさん
2006/04/22(土) 10:27:09 アイデア+バランス勝負だろ。
プロとアマの差は組織力だけだと思うな。
プロとアマの差は組織力だけだと思うな。
275デフォルトの名無しさん
2006/07/22(土) 11:25:09 SDL_ToggleFullScreenって何で役に立たないんだろう
276デフォルトの名無しさん
2006/07/22(土) 12:30:39 あれはUnix系列でしか使えないんじゃないっけ?
277デフォルトの名無しさん
2006/07/22(土) 13:00:47 FAQにはこう書かれています。
----------------------------------------------------------------------------
Q: Why doesn't SDL_WM_ToggleFullScreen() work on Windows?
A: The semantics of SDL_WM_ToggleFullScreen() are that switching between fullscreen
and windowed mode is transprent to the application.
The display pixels pointer does not change, the display depth does not change, etc.
This cannot be guaranteed on Windows. However,
there is a simple method you can use to change between fullscreen and windowed mode:
flags ^= SDL_FULLSCREEN;
screen = SDL_SetVideoMode(..., flags);
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Q: Why doesn't SDL_WM_ToggleFullScreen() work on Windows?
A: The semantics of SDL_WM_ToggleFullScreen() are that switching between fullscreen
and windowed mode is transprent to the application.
The display pixels pointer does not change, the display depth does not change, etc.
This cannot be guaranteed on Windows. However,
there is a simple method you can use to change between fullscreen and windowed mode:
flags ^= SDL_FULLSCREEN;
screen = SDL_SetVideoMode(..., flags);
----------------------------------------------------------------------------
278デフォルトの名無しさん
2006/08/07(月) 08:39:34 Ruby/SDL で mixer の初期化に失敗するのですが、同じ症状で解決された人いましたらご教示よろしくお願いします。
ディストリは CentOS 4.3
$ uname -srvmpio
Linux 2.6.9-34.0.2.EL #1 Fri Jul 7 19:24:57 CDT 2006 i686 i686 i386 GNU/Linux
$ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]
SDL_mixer-1.2.7 はソースからコンパイルしてインストールしました。
導入しようとしたのは Ruby/SDL 1.1.0 で、
sampleディレクトリ下の playwav.rb を実行すると
/usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open_imp': Couldn't open audio: Couldn't create mixer lock (SDL::Error)
from /usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open'
from playwave.rb:7
というエラーが出ます。
SDL_OpenAudio で止まってるようで、簡単なテストコードをCで書いても同じメッセージ(Couldn't create mixer lock)が出ます。
ディストリは CentOS 4.3
$ uname -srvmpio
Linux 2.6.9-34.0.2.EL #1 Fri Jul 7 19:24:57 CDT 2006 i686 i686 i386 GNU/Linux
$ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]
SDL_mixer-1.2.7 はソースからコンパイルしてインストールしました。
導入しようとしたのは Ruby/SDL 1.1.0 で、
sampleディレクトリ下の playwav.rb を実行すると
/usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open_imp': Couldn't open audio: Couldn't create mixer lock (SDL::Error)
from /usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open'
from playwave.rb:7
というエラーが出ます。
SDL_OpenAudio で止まってるようで、簡単なテストコードをCで書いても同じメッセージ(Couldn't create mixer lock)が出ます。
279デフォルトの名無しさん
2006/08/28(月) 22:54:00 遅レスな上に当てずっぽうだがSDL_mixerが新しすぎるとみた。
もう解決してたらスルーしてくれ。
もう解決してたらスルーしてくれ。
280デフォルトの名無しさん
2006/08/29(火) 00:31:28 たった今解決しました。(汗
公式サイトの
ttp://www.libsdl.org/release/SDL-1.2.11-1.i386.rpm
をインストールしなおしたあとで動くようになりました。
ただ、SDL_mixerのconfigure時にsdl-configのパスが間違っていたっぽかったので
そっちだったのかもしれません(それでもconfigureは通るんですよね)。
x) /usr/local/bin/sdl-config
o) /usr/bin/sdl-config
結局具体的に何がどうだったのかいまいち不明です。
なんだか参考にならなそうですみません。
>>279さんの書き込み見る前にニアミスで解決しちゃったんで、ありがとうございます、ではないですけど・・・おさわがせしました〜。
いちおう書いておくと、SDL_mixerのmixer.cの SDL_OpenAudio のとこ(300行付近)↓
で止まってました。
/* Accept nearly any audio format */
if ( SDL_OpenAudio(&desired, &mixer) < 0 ) {
return(-1);
}
公式サイトの
ttp://www.libsdl.org/release/SDL-1.2.11-1.i386.rpm
をインストールしなおしたあとで動くようになりました。
ただ、SDL_mixerのconfigure時にsdl-configのパスが間違っていたっぽかったので
そっちだったのかもしれません(それでもconfigureは通るんですよね)。
x) /usr/local/bin/sdl-config
o) /usr/bin/sdl-config
結局具体的に何がどうだったのかいまいち不明です。
なんだか参考にならなそうですみません。
>>279さんの書き込み見る前にニアミスで解決しちゃったんで、ありがとうございます、ではないですけど・・・おさわがせしました〜。
いちおう書いておくと、SDL_mixerのmixer.cの SDL_OpenAudio のとこ(300行付近)↓
で止まってました。
/* Accept nearly any audio format */
if ( SDL_OpenAudio(&desired, &mixer) < 0 ) {
return(-1);
}
281デフォルトの名無しさん
2006/11/27(月) 20:16:43 保守あげ
282デフォルトの名無しさん
2006/11/29(水) 06:24:35 三ヶ月書き込みが無くても落ちないんだ・・・
283デフォルトの名無しさん
2006/11/29(水) 12:01:13 過去スレも結構残ってるからねぇ
284デフォルトの名無しさん
2006/12/03(日) 03:02:36 日本で、これを使ってゲームを販売している会社はあるの?
285デフォルトの名無しさん
2006/12/03(日) 03:25:16 >>284
あるわけねぇだろ!!
あるわけねぇだろ!!
286デフォルトの名無しさん
2006/12/03(日) 04:08:41287デフォルトの名無しさん
2006/12/03(日) 04:46:11 どっかの企業が作ったライブラリが原型じゃないっけ?
ってことはその原型のライブラリは
その企業では一応使われてたんでないかと
ってことはその原型のライブラリは
その企業では一応使われてたんでないかと
288デフォルトの名無しさん
2006/12/03(日) 04:48:40 XNAでおk
289デフォルトの名無しさん
2007/01/19(金) 08:28:09 サーバーやたら重くね?
290デフォルトの名無しさん
2007/01/20(土) 10:35:05 XNA厨があばれててうざい
291デフォルトの名無しさん
2007/02/11(日) 14:01:50 ものすごく恥ずかしい質問かもしれないけど・・・
ウィンドウタイトルに日本語は使えないの?
ウィンドウタイトルに日本語は使えないの?
292デフォルトの名無しさん
2007/02/11(日) 14:11:29 使える
293デフォルトの名無しさん
2007/02/15(木) 03:02:50 >>291
少なくともWindowsでは使えない。
文字列をutf-8に変更した時からみたいだね。
バグ報告は出ているけど、いつ直ることやら。
って思ったら、とりあえずパッチが上がってた。
古いバージョンを使うか、バグ報告どおりに自分で直すと良いかと。
ttp://bugzilla.libsdl.org/show_bug.cgi?id=365
少なくともWindowsでは使えない。
文字列をutf-8に変更した時からみたいだね。
バグ報告は出ているけど、いつ直ることやら。
って思ったら、とりあえずパッチが上がってた。
古いバージョンを使うか、バグ報告どおりに自分で直すと良いかと。
ttp://bugzilla.libsdl.org/show_bug.cgi?id=365
294デフォルトの名無しさん
2007/04/23(月) 07:32:03 便乗して恥ずかしい質問してみるけど、Alt+F4ってどう実装してる?
メインループのPollEventで、下のようにやってもAltを認識してくれないぽ
環境はwin2k、DevC++(gcc+mingw)、SDL1.2.11
bool PollEvent(){
SDL_Event ev;
while(SDL_PollEvent(&ev)){
switch(ev.type){
case SDL_QUIT:
return false;
break;
case SDL_KEYDOWN:
if((ev.key.keysym.sym == SDLK_F4) && (ev.key.keysym.mod == KMOD_ALT)) return false;
break;
}
}
return true;
}
メインループのPollEventで、下のようにやってもAltを認識してくれないぽ
環境はwin2k、DevC++(gcc+mingw)、SDL1.2.11
bool PollEvent(){
SDL_Event ev;
while(SDL_PollEvent(&ev)){
switch(ev.type){
case SDL_QUIT:
return false;
break;
case SDL_KEYDOWN:
if((ev.key.keysym.sym == SDLK_F4) && (ev.key.keysym.mod == KMOD_ALT)) return false;
break;
}
}
return true;
}
295デフォルトの名無しさん
2007/04/23(月) 11:38:35 ev.key.keysym.mod & KMOD_ALT
296デフォルトの名無しさん
2007/04/23(月) 22:32:25 泣いた
サンクスコ
それだとうまくいきました
ビットごとに違うフラグあるんだから全体を==で比較しちゃ駄目ですね
サンクスコ
それだとうまくいきました
ビットごとに違うフラグあるんだから全体を==で比較しちゃ駄目ですね
297デフォルトの名無しさん
2007/05/09(水) 15:20:17 SDL_ttfのこの辺って戻り値が参照渡しだけど、もしかしてこの関数内でサーフェス用に確保されたメモリってほったらかしだと解放されないで、新しく確保した領域にポインタが更新されるだけ?
ループの中でテキスト生成させてたら、秒速1MBでメモリ増えてくんだけど(;'A`)
>SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)
ループの中でテキスト生成させてたら、秒速1MBでメモリ増えてくんだけど(;'A`)
>SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)
298デフォルトの名無しさん
2007/05/09(水) 15:47:56299デフォルトの名無しさん
2007/06/17(日) 15:03:37 あげ
300デフォルトの名無しさん
2007/06/20(水) 14:35:46 さてこれからC++とSDLで勉強しようと思う俺様が通りますよ
301デフォルトの名無しさん
2007/06/20(水) 21:19:00 >300
とりあえず初心者の〜に行ってこい
とりあえず初心者の〜に行ってこい
302デフォルトの名無しさん
2007/08/13(月) 17:37:28 SDL1.2.12になってからVisualC++ 2005 EE SP1でコンパイルしても実行出来なくなったんですが
原因が分かる方居ますか?
原因が分かる方居ますか?
303デフォルトの名無しさん
2007/08/19(日) 20:16:49 1.2.12いれたら -ansiオプションで警告出たのでなんだろと思ったら
SDL/begin_code.hの93,94行目のコメントがC++形式だった
SDL/begin_code.hの93,94行目のコメントがC++形式だった
304デフォルトの名無しさん
2007/08/19(日) 21:43:36305デフォルトの名無しさん
2007/08/19(日) 23:13:34306デフォルトの名無しさん
2007/09/07(金) 11:32:36307デフォルトの名無しさん
2007/09/07(金) 17:46:02308デフォルトの名無しさん
2007/09/27(木) 23:59:43 SDL使ってゲームを作り始めました。ここで質問なんですが、
SDL_GetKeyState()はゲームのメインループ1回に1度呼び出すのと、
SDL_PollEvent()でSDL_KeyboardEventを拾った時に呼ぶのとどっちがいいんでしょう?
前者では常にそのタイミングでスキャンでき、
後者ではOSがイベントを中継する分だけ(処理落ちが激しいときなどでは)反応が遅れる可能性があるが
キーボードに触れられなければSDL_GetKeyState()が呼ばれないためその分軽い(1msも掛からないと思うけど・・・
ということじゃないかと考えているのですけど、一般的にはどちらが使われる、とかありますか?
あと、SDL_PollEvent()でイベントが何もきていないときにゲームメインループを進めているのですが、
ウィンドウのタイトルバーを右クリックしてポップアップメニューが表示されている間や、
タイトルバーをドラッグしてウィンドウが動いている間などはゲームメインループが進みません。
こういった状態でもゲームメインループをまわすにはどうしたらいいですか?
(Windowsでの話です。)
SDL_GetKeyState()はゲームのメインループ1回に1度呼び出すのと、
SDL_PollEvent()でSDL_KeyboardEventを拾った時に呼ぶのとどっちがいいんでしょう?
前者では常にそのタイミングでスキャンでき、
後者ではOSがイベントを中継する分だけ(処理落ちが激しいときなどでは)反応が遅れる可能性があるが
キーボードに触れられなければSDL_GetKeyState()が呼ばれないためその分軽い(1msも掛からないと思うけど・・・
ということじゃないかと考えているのですけど、一般的にはどちらが使われる、とかありますか?
あと、SDL_PollEvent()でイベントが何もきていないときにゲームメインループを進めているのですが、
ウィンドウのタイトルバーを右クリックしてポップアップメニューが表示されている間や、
タイトルバーをドラッグしてウィンドウが動いている間などはゲームメインループが進みません。
こういった状態でもゲームメインループをまわすにはどうしたらいいですか?
(Windowsでの話です。)
309デフォルトの名無しさん
2007/09/28(金) 03:28:33 >>308
普通は毎フレーム呼ぶんじゃないかな?
ソース読めばわかるけど SDL_GetKeyState() は実はポインタを返すだけの処理だから
どっちでも大差ないだろうけど.最適化を考えるなら1フレームあたり1回しか
呼ばれない低負荷の関数コールを削ることを考えるよりもどこがボトルネックに
なっているか調べてほかに重い場所を探したらいいと思うよ?
# 実は最初に一回呼んでポインタを保存しておいてループ内ではそれを参照するとかでも
# 動く気がするけどその動作が保証されてるわけじゃないから…まぁ適当にやってくれ
普通は毎フレーム呼ぶんじゃないかな?
ソース読めばわかるけど SDL_GetKeyState() は実はポインタを返すだけの処理だから
どっちでも大差ないだろうけど.最適化を考えるなら1フレームあたり1回しか
呼ばれない低負荷の関数コールを削ることを考えるよりもどこがボトルネックに
なっているか調べてほかに重い場所を探したらいいと思うよ?
# 実は最初に一回呼んでポインタを保存しておいてループ内ではそれを参照するとかでも
# 動く気がするけどその動作が保証されてるわけじゃないから…まぁ適当にやってくれ
311デフォルトの名無しさん
2007/10/08(月) 10:02:45 SDL 1.3の新機能についてRyanさんが書いてる。
ttp://icculus.org/cgi-bin/finger/finger.pl?user=icculus&date=2007-10-07§ion=sdl13
ttp://icculus.org/cgi-bin/finger/finger.pl?user=icculus&date=2007-10-07§ion=sdl13
312デフォルトの名無しさん
2007/10/08(月) 12:51:23 ついにマルチウィンドウが来ますな。
過去互換性も整理する方向みたいね。
いつ頃投入予定なのかな?SDL1.3
過去互換性も整理する方向みたいね。
いつ頃投入予定なのかな?SDL1.3
313デフォルトの名無しさん
2007/10/08(月) 12:59:24 マルチウィンドウ出来たら Gtk+ の代わりに使えるかな
314デフォルトの名無しさん
2007/10/08(月) 13:27:31 それはパーツの種類が少ないからムリだと思う。
SDLの上にウィジェット・ツールキットを構築するのはありだと思うけど。
SDLの上にウィジェット・ツールキットを構築するのはありだと思うけど。
315デフォルトの名無しさん
2007/10/12(金) 01:34:04 RubyでSDLを弄り始めたんですが、これはスタンドアロン専用ですか?
CGIでは使えない?
CGIでは使えない?
316デフォルトの名無しさん
2007/10/12(金) 02:49:11 >>315
CGIで何に使うんだ?画像生成とか?
CGIで何に使うんだ?画像生成とか?
317デフォルトの名無しさん
2007/10/12(金) 03:38:31318デフォルトの名無しさん
2007/10/12(金) 03:51:17 RubyがWEBアプリ用とかいう認識が根本的に間違ってることを理解してくれ
# まぁ向いてる分野ではあるけど
# まぁ向いてる分野ではあるけど
319デフォルトの名無しさん
2007/10/12(金) 13:09:09 > RubyとかWEBアプリ用と聞いたので、
違うよ。全然違うよ。
> 当然ライブラリとかもWEB上で使えると思ったんだけど・・・
なんで?WEB上ってどこで?
普通、クライアントサイドで動かす、SDLを
サーバーで動かす利点は何だろう?
違うよ。全然違うよ。
> 当然ライブラリとかもWEB上で使えると思ったんだけど・・・
なんで?WEB上ってどこで?
普通、クライアントサイドで動かす、SDLを
サーバーで動かす利点は何だろう?
320デフォルトの名無しさん
2007/10/12(金) 17:39:12321デフォルトの名無しさん
2007/10/12(金) 18:23:09 SDLと関係ない話になりそうな流れだな……。
別にもうこれ以上掘り下げなくてよくね?
別にもうこれ以上掘り下げなくてよくね?
322デフォルトの名無しさん
2007/10/13(土) 05:23:23 Ruby/SDLで書いたゲームスクリプトを投稿すると
サーバの向こう側に常時待機しているおっさんがそれを遊んで
スコアを返すWebアプリを思いついた
アイデアの権利は放棄するからお前ら自由に実装していいぞ
サーバの向こう側に常時待機しているおっさんがそれを遊んで
スコアを返すWebアプリを思いついた
アイデアの権利は放棄するからお前ら自由に実装していいぞ
323デフォルトの名無しさん
2007/10/13(土) 10:07:22 なんでおっさん限定なんだよww
324デフォルトの名無しさん
2007/10/13(土) 12:41:29 何その、サーチエンジンはやぶさ
325デフォルトの名無しさん
2007/10/19(金) 22:34:05 複数のテキストをOpenGLの画面に渡すためにSDL_ttfを使っているのですが、
TTF_RenderUTF8_Solidして作ったいくつかのSDL_Surfaceを、
SDL_BlitSurfaceで、既にOpenGLのフォーマットにしてある大きなサーフィスにコピーして集めて画面をつくり、
その大きなサーフィスをglTexSubImage2DでOpenGLテクスチャとして更新して表示
という方法で、やりたいことはできたのですが、
テキスト1行1行を別々のテクスチャとして扱いたかったのに加えて、
ここの処理だけSDL側でコピーするのも気持ち悪いな、と思い、
TTF_RenderUTF8_Solidして作ったSDL_Surfaceを
SDL_ConvertSurfaceを用いてOpenGLのフォーマットに変換して、
glTexSubImage2DでOpenGLのテクスチャを部分更新して転送する
という方法に変えたところ、テキストのテクスチャの背景部分が透過されなくなってしまいました。
OpenGLテクスチャ上では、文字部分はα値1でカラー値さまざま かつ 文字の無い部分はα値0で完全に透明
にしたいのですが、どうしたらいいのですか?
もともとの方法では、SDL_BlitSurfaceの時に、TTF_RenderUTF8_Solidの作ったサーフィスの文字の無い部分は
自動的に透過されたのですが、SDL_ConvertSurfaceをする場合は、同じように透過されないのでしょうか?
TTF_RenderUTF8_Solidして作ったいくつかのSDL_Surfaceを、
SDL_BlitSurfaceで、既にOpenGLのフォーマットにしてある大きなサーフィスにコピーして集めて画面をつくり、
その大きなサーフィスをglTexSubImage2DでOpenGLテクスチャとして更新して表示
という方法で、やりたいことはできたのですが、
テキスト1行1行を別々のテクスチャとして扱いたかったのに加えて、
ここの処理だけSDL側でコピーするのも気持ち悪いな、と思い、
TTF_RenderUTF8_Solidして作ったSDL_Surfaceを
SDL_ConvertSurfaceを用いてOpenGLのフォーマットに変換して、
glTexSubImage2DでOpenGLのテクスチャを部分更新して転送する
という方法に変えたところ、テキストのテクスチャの背景部分が透過されなくなってしまいました。
OpenGLテクスチャ上では、文字部分はα値1でカラー値さまざま かつ 文字の無い部分はα値0で完全に透明
にしたいのですが、どうしたらいいのですか?
もともとの方法では、SDL_BlitSurfaceの時に、TTF_RenderUTF8_Solidの作ったサーフィスの文字の無い部分は
自動的に透過されたのですが、SDL_ConvertSurfaceをする場合は、同じように透過されないのでしょうか?
326デフォルトの名無しさん
2007/10/20(土) 04:00:34327デフォルトの名無しさん
2007/10/20(土) 21:34:26 >>326
ありがとうございました、解決しました。
覗いてみたところ、透過したいところのαが0、表示したいところのαが255、と、
OpenGL側の透過値と全く反対で扱われていました。
gl側の混合処理で、GL_SRC_ALPHAからGL_ONE_MINUS_SRC_ALPHAにしたらうまくいきました。
解決のヒントを与えてくれてありがとうございました。
ありがとうございました、解決しました。
覗いてみたところ、透過したいところのαが0、表示したいところのαが255、と、
OpenGL側の透過値と全く反対で扱われていました。
gl側の混合処理で、GL_SRC_ALPHAからGL_ONE_MINUS_SRC_ALPHAにしたらうまくいきました。
解決のヒントを与えてくれてありがとうございました。
328デフォルトの名無しさん
2007/11/24(土) 15:09:08 補助ライブラリを日本語で紹介してるサイトないですか?
329デフォルトの名無しさん
2007/11/25(日) 14:27:29 ひょっとしてこのライブラリもう誰も使ってない?
330デフォルトの名無しさん
2007/11/25(日) 14:28:27 結構使われていると思うけど
331デフォルトの名無しさん
2007/11/26(月) 02:59:31 >>329
解説が必要なほど複雑なAPIないからなぁ…
解説が必要なほど複雑なAPIないからなぁ…
332デフォルトの名無しさん
2007/12/08(土) 06:48:31 325とは逆に作ったサーフェスに全く表示されないのを一晩悩んだ漏れが来ましたよ
FillRectで特定の値書き込んだ所や貼り付けた特定の画像上だけしか重ね貼りした画像表示しなくて、
真っ黒な0でのFillRectと並べてやっと気付いたorz
もう弄りすぎてソースが焼きそば並にぐちゃぐちゃだぜ
FillRectで特定の値書き込んだ所や貼り付けた特定の画像上だけしか重ね貼りした画像表示しなくて、
真っ黒な0でのFillRectと並べてやっと気付いたorz
もう弄りすぎてソースが焼きそば並にぐちゃぐちゃだぜ
333デフォルトの名無しさん
2007/12/09(日) 00:25:56 SDLで半透明ウインドウできますか?
334デフォルトの名無しさん
2007/12/28(金) 00:39:37 cairoとの相性いいみたいですね
フォントとか画像ファイル関係はcairoで代用できそう
フォントとか画像ファイル関係はcairoで代用できそう
335デフォルトの名無しさん
2008/01/05(土) 01:27:38 板違いだったらすいません。
ちょっと質問なんですが、Ruby/SDLを使用しようと思って、必要なものをインスコして、
プログラムを書き、コンパイルしたら、
ALSA lib confmisc.c:数字
ALSA lib conf.c:数字
ALSA lib pcm.c:数字
こういうものが多数出てきて、実行できませんでした。
環境は、Linuxのubuntu7.10を使っています。
SDLやRuby/SDLは元々入っていたものをパッケージャから入れました。
どうしたら実行できるでしょうか?
ちょっと質問なんですが、Ruby/SDLを使用しようと思って、必要なものをインスコして、
プログラムを書き、コンパイルしたら、
ALSA lib confmisc.c:数字
ALSA lib conf.c:数字
ALSA lib pcm.c:数字
こういうものが多数出てきて、実行できませんでした。
環境は、Linuxのubuntu7.10を使っています。
SDLやRuby/SDLは元々入っていたものをパッケージャから入れました。
どうしたら実行できるでしょうか?
336デフォルトの名無しさん
2008/01/06(日) 00:41:57 こういうものが多数・・・と手書きするんじゃなくて
可能な限りをコピー&ペーストしなさい
数字の後にもエラーメッセージ続いてたろ?
可能な限りをコピー&ペーストしなさい
数字の後にもエラーメッセージ続いてたろ?
337デフォルトの名無しさん
2008/01/07(月) 01:23:00 >>335です。
実行できなかったのは、ソースファイルの打ち間違いでした。すいません。
しかし、>>335に書いたエラーが出てから実行されます。
>>336
すいません。VMwarePlayerでLinuxを使っていて、
それではネットにつなげるように設定していなかったので
コピペできませんでした。
ALSA lib confmisc.c:769:(parse_card) cannot find card ''
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3982:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default
これが出てたエラーです。
実行できなかったのは、ソースファイルの打ち間違いでした。すいません。
しかし、>>335に書いたエラーが出てから実行されます。
>>336
すいません。VMwarePlayerでLinuxを使っていて、
それではネットにつなげるように設定していなかったので
コピペできませんでした。
ALSA lib confmisc.c:769:(parse_card) cannot find card ''
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3982:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default
これが出てたエラーです。
338デフォルトの名無しさん
2008/01/17(木) 00:25:47 マルチプラットフォームなこのライブラリですが
多少の手直し程度の移植可能(なように作れる)プラットフォームは
どれとどれでしょうか?
多少の手直し程度の移植可能(なように作れる)プラットフォームは
どれとどれでしょうか?
339デフォルトの名無しさん
2008/01/17(木) 01:02:45340デフォルトの名無しさん
2008/03/03(月) 05:22:10 SDL_ttfについて質問です
TTF_RenderText_Solid等をして返ったサーフェースは自分でSDL_FreeSurfaceで開放しなくてはいけませんか?
TTF_RenderText_Solid等をして返ったサーフェースは自分でSDL_FreeSurfaceで開放しなくてはいけませんか?
341デフォルトの名無しさん
2008/03/03(月) 13:55:39 >>340
開放しなくてはいけませんか?(Y/yes)
開放しなくてはいけませんか?(Y/yes)
342デフォルトの名無しさん
2008/03/03(月) 22:14:36343デフォルトの名無しさん
2008/03/04(火) 02:12:30 毎フレームフォントをラスタライズするようなアホプログラムなら直ぐに止まりそうだけどね…
344デフォルトの名無しさん
2008/03/08(土) 18:26:01345デフォルトの名無しさん
2008/03/08(土) 18:40:37 サーフェスに文字を詰め込んでいって
毎フレーム自分でレイアウトして描画するようにしたほうがいい気がする
ちょっと面倒だけど作ってしまえば更新頻度とか気にせず使える
毎フレーム自分でレイアウトして描画するようにしたほうがいい気がする
ちょっと面倒だけど作ってしまえば更新頻度とか気にせず使える
346デフォルトの名無しさん
2008/03/08(土) 18:45:07347デフォルトの名無しさん
2008/03/15(土) 21:48:06 sage
348デフォルトの名無しさん
2008/04/11(金) 00:41:48 あげ
349デフォルトの名無しさん
2008/06/14(土) 07:06:13 320x224の解像度でフルスクリーンにすると画面が90度回転してしまうんですが、
解像度は変えないか320x240でこれを発生させない解決方法ってないでしょうか?
解像度は変えないか320x240でこれを発生させない解決方法ってないでしょうか?
350デフォルトの名無しさん
2008/06/15(日) 03:38:37 >>349
環境くらい書いたら?
環境くらい書いたら?
351デフォルトの名無しさん
2008/06/15(日) 10:22:11 すっかり忘れました。ごめんなさい。
ハードはThinkPad X60s
Win XP + Mingw GCC + SDLソースインスコ
です。
ハードはThinkPad X60s
Win XP + Mingw GCC + SDLソースインスコ
です。
352デフォルトの名無しさん
2008/06/15(日) 13:31:05 PCEngineのエミュレータでも作ってるのかね
353デフォルトの名無しさん
2008/06/22(日) 08:59:52 先生!こんなのありましたけど、昔ながらの行番号BASICからSDLが使えるんですか?
SDL_basic
http://www.libsdl.org/applications.php?match_id=1905
SDL_basic
http://www.libsdl.org/applications.php?match_id=1905
354デフォルトの名無しさん
2008/06/26(木) 22:43:48 解像度を640*480にする
355デフォルトの名無しさん
2008/09/06(土) 21:21:37 保守
356デフォルトの名無しさん
2008/10/21(火) 21:28:12 保守
357デフォルトの名無しさん
2008/10/22(水) 20:51:43 何か話題はあるのか?
358デフォルトの名無しさん
2008/10/22(水) 21:41:45 ない
359デフォルトの名無しさん
2008/10/23(木) 16:36:44 SDLとか糞やん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【J SPORTS】FIFA U-17ワールドカップ ★9
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 女だけど眠れない
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- かしこいワンコっていうVtuberの子知ってる?
- カレーライスぐちゃぐちゃに混ぜる奴🤣
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- ラーメンはかたや堅粕店に来た
