トップページgamedev
987コメント396KB

SDLスレ

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/11/11 17:59ID:u0HMN7qC
マルチプラットホームな汎用ゲームライブラリの
SDLについてのスレッドです。
最新情報、参考になるソース、質問等

とりあえず、本山
http://www.libsdl.org/
0275名前は開発中のものです。03/08/03 20:41ID:AJVBNou5
日本語の入力もね。
SKKじゃなー
0276名前は開発中のものです。03/08/03 21:32ID:2INujupL
>>274
表示する分にはsdl_bdfとかsdl_kanjiが良さそう
ttp://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdlkanji/

導入手順からライセンス気にしないでいいbdfデータとか
どこかに一通りまとめて載ってればなぁ

>>275
入力だけ環境依存てのもイヤンだけど
imeをサポートするのが良い気もするね
ttp://www.freeml.com/ctrl/html/MessageForm/sdl-fan-jp@freeml.com/582/

ここだけは他の環境に比べると敷居が高いかな
0277名前は開発中のものです。03/08/03 22:23ID:wQr5xfPP
SDLでゲームを作ってるんですが、
画像のRGB値を変えて画像を赤っぽくしたり、
フェードさせたりしたいんですが、
どこかにサンプルでもないでしょうか?
0278名前は開発中のものです。03/08/04 09:14ID:O+VX8o/I
誰かに SDL_ime を作ってほしいね…
0279名前は開発中のものです。03/08/04 11:08ID:fZqC0/Lp
>>277
ピクセル単位で操作するだけなら、
SDLdocと一般的な色調補正アルゴリズムで可能かな
アルファチャンネルをいじる

って、遅くて使い物にならない予感なので、
SDL_gfxがその用途でしょうか

ttp://www.ferzkopp.net/Software/SDL_gfx-2.0/
>imageFilter functions

関数多すぎ。

てか、使ってないので具体的に書けなくてスマソ
0280名前は開発中のものです。03/08/04 11:19ID:fZqC0/Lp
>279の補足
sdldoc
>ttp://zinnia.dyndns.org/~cvsweb/sdldoc-jp/guidevideo.html#GUIDEVIDEOINTRO
コレな→getpixel()とputpixel()

ピクセル単位だとフィルタの処理DIBと変わらない
適当にぐぐって参考になりそうなページ
ttp://www.sm.rim.or.jp/~shishido/graphics.html

実用速度に達しなかったら、
SDL_gfxの使い方を調べる、と
028127903/08/04 11:44ID:fZqC0/Lp
>アルファチャンネルをいじる
思いつきで書こうとしたゴミが残ってました
気にしないでください気にしないでください
0282名無しさん@Linuxザウルス03/08/04 21:09ID:caYyIIpw
pngで真っ赤な画像を作成する。
アルファを50%ぐらいに設定で書き出し。

SDL_imageで読み込み
画像描画後のscreenにBlitしてやる。
一番簡単な簡単な赤色フィルタのできあがり。

速度的に問題なければこんなんでも
いいじゃんと思う
0283名前は開発中のものです。03/08/05 15:08ID:zbiAQW5j
>>282
# 速度的な問題はおいておくとして

仮にその方法でやるにしてもpng画像はつくらずに,
* SDL_CreateRGBSurface() で Surface つくって
* SDL_FillRect() で赤く塗って
* SDL_SetAlpha() で半透明にして
半透明の赤画像作るんじゃない?
(これならSDL_Imageもいらないし…)
028428203/08/05 21:48ID:eW46RnuS
>>283

秘密だがな、
SDL_SetAlphaの説明で泡を噴いた

pngだと半透過もプログラム無しで自由自在だ!
0285名前は開発中のものです。03/08/06 09:51ID:aF4kdC5r
フェードに使いたいと思うのですが、
>283さんみたいな方法で半透明のグラデーション(?)って、
どうやって作るんでしょうか

SDL_MapRGBAでピクセル単位で設定していくのかな
プログラムの流れが掴めないんです...
0286名前は開発中のものです。03/08/06 16:38ID:qsYmH3Qw
>>285
すごく冗長に書くけど下のような処理でいいの?

screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
tmp = SDL_LoadBMP("back.bmp");
back = SDL_DisplayFormat(tmp);
tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, 640, 480, 32, 0xff000000, 0xff0000, 0xff00, 0xff);
for (i = 0;i < tmp->h;i++){
 SDL_Rect dstRect = {0, i, tmp->w, 1};
 SDL_FillRect(tmp, &dstRect, SDL_MapRGBA(tmp->format, 0xff, 0, 0, i * 0xff / tmp->h ));
}
redGradation = tmp;
SDL_BlitSurface(back, NULL, screen, NULL);
SDL_BlitSurface(redGradation, NULL, screen, NULL);

# 実際やるなら pixels を直接書き変えるかもだけど…
028728503/08/07 01:12ID:ecuGQ5wX
>286
ははぁそんな風に使うのですか
># 実際やるなら pixels を直接書き変えるかもだけど…

処理の速度もスマートもこっちの方が良さそうですね...

ともあれ、ありがとうございました!
028827703/08/10 22:04ID:3fyZnj/b
>>279-
色々とありがとうございます。
昔ながらの256色イメージだけで作りたいので
アルファは使わずにパレット操作で
なんとかできるようにがんばってみます。
0289名前は開発中のものです。03/08/14 19:27ID:cMmbZR7Z
SDL自身はLGPLだからDynamic Linkすれば、
アプリケーション側はライセンスに縛られない。

ここまではいいとして、WindowsやMacの場合はlibSDLmainを
スタティックリンクせざるを得ない気がするんだが、
これのライセンスは大丈夫なのか?
0290名前は開発中のものです。03/08/14 21:54ID:2h8LvvFv
>>289
SDL-1.2.5/src/main/win32/SDL_main.cを見ると
> SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
って書いてあるから win32 の場合は問題ない.

beos や macos, macosx の SDL_main のソースには LGPL
っぽいことが書いてあるので厳密に見ると libSDLmain を
スタティックリンクするとアプリケーションのソース公開の
必要が出てくるはず.

ただし SDL 作ってるところがそれを要求することはなさそうだし,
win32 バージョンがパブリックドメインになってるところを見ると,
スタティックリンクの問題は認識してるっぽい…

要望さえすれば win32 以外の libSDLmain のソースコードの
ライセンスも変更してくれる可能性は高いんじゃないかな??
Mac 版バイナリとか配布したくてどうしても気になるならメール
してみれば??
0291名前は開発中のものです。03/08/14 23:33ID:cMmbZR7Z
>>290
ありがトン。
今回Win32とMacOSXを考えてたんですが、
OSXのほうは厳密に見たらアウトっぽいでつね。
ただ、先程本家SDL-mlの過去ログとかあさってみたんですが、
それで問題になってるケースは無いようなんで、
気にしすぎなければいいだけなのかも、と思えてきました。
# 今年の2月ごろにLicense変更の議論があったみたいですが、
# 変わるとしても次バージョン(SDL-1.2.6)からなのかな?

本当は、
> Mac 版バイナリとか配布したくてどうしても気になるならメール
> してみれば??
するのが正しい対処なんだろうけど英語読むのはともかく書くのが苦手で…。
0292名前は開発中のものです。03/08/15 06:52ID:UWeiB8uB
>>291
ごめん.よく見たら SDL-1.2.5/src/main/macosx/SDLmain.m には
> Feel free to customize this file to suit your needs
って書いてあるだけで LGPL だとは書いてないね.
これがライセンスに相当するのかよくわからんけど,
問題ないのかも…
0293名前は開発中のものです。03/08/15 23:07ID:PGk8s/Xy
SDLを簡単に使える統合開発環境無いですか?
0294名前は開発中のものです。03/08/15 23:58ID:8cJqaZWw
>>293
VC++でもProject Builderでもお好きにどうぞ。

そもそもSDL自体がウィンドウにWidgetペタペタってタイプのライブラリじゃないんで、
統合環境使っても便利なデバッガぐらいの意味しかない。
0295名前は開発中のものです。03/08/16 06:04ID:Pwn6a/b8
http://esenden.com/rank/network/ranklink.cgi?id=mercury
0296名前は開発中のものです。03/08/16 16:13ID:UdbGIJgL
sdlで開発していてソースを公開していないとこ
ありますか?良いのかダメなのかという議論より
そっちを探した方が早いと思うんだけど

自分でも探してきまーす
0297名前は開発中のものです。03/08/18 09:32ID:UOWMD29Z
>>296
あるかと言われればここにいっぱいあるかと
ttp://www.lokigames.com/products/

でも仕事で SDL を使いたいとかの場合,人がどう使ってるか
じゃなくてライセンス上(法律上)問題がないことが確認できないと
使えない(会社の許可がおりないとか),みたいなこともあるので
ライセンスについて話をしなくてすむということにはならないでしょう…
0298名前は開発中のものです。03/08/19 11:22ID:WgDTgw+R
>>297
>ライセンス上(法律上)問題がないことが確認できないと使えない(会社の許可がおりないとか)
会社の許可があろうがあるまいが、ライセンス上の問題を抱えたまま使うわけにはいかないだろ。
0299297じゃないが03/08/19 22:51ID:pK/wVDNB
>>298
まあまあ・・・
0300_03/08/19 23:39ID:o8K5C254
http://homepage.mac.com/yamazaki8
0301名前は開発中のものです。03/08/20 01:58ID:GLauqFru
■無料でオマンコが見れるのは独身貴族だけです■
■2000人限定ですのでお急ぎ下さい■
http://www.yahoo2003.com/akira/linkvp.html
030229703/08/20 08:54ID:jwy9xvpt
>>296
298 みたいのに叩かれないようにライセンスはちゃんと
チェックしましょうってことですね…
0303名前は開発中のものです。03/08/20 15:33ID:2JkP3biW
SDLでゲームを作ってるんですが、
ウィンドウハンドルやインスタンスハンドル
の取得はできないのでしょうかね?
後、DLLをEXEと同じフォルダに置いていますが
違うフォルダにおけたらいいなと思ってるのですが
これもやっぱり無理なんでしょうか・・・
よろしければ教えてください。
0304名前は開発中のものです。03/08/20 15:58ID:IAQ+2Jdj
>>303
あれ?SDL.dllの方はsystem32とかに置いても動くんじゃなかったっけ?
0305名前は開発中のものです。03/08/20 17:46ID:zeCXkCoe
>>303
DLL一般に言えることだけどパスの通ったディレクトリ
ならどこに置いてもいいんでない?
0306名前は開発中のものです。03/08/30 17:14ID:wTz8Yud2
保守っと。
0307名前は開発中のものです。03/08/31 10:00ID:Jri/HO3q
ttp://www.ferzkopp.net/Software/SDL_rotozoom/index.html
上のrotozoomSurfaceを使ってるのですが、画像を回転させたあと
SDL_SetAlphaを使って半透明にしたいのですが、うまくいきません・・・
どうしたらいいのでしょうか?
0308名前は開発中のものです。03/09/01 14:29ID:ND5cseGq
>>307

内部で作ったサーフェイスで回転させて
SDL_SetAlphaでAlpha設定した後
表示サーフェイスにBlitしてもダメ?
030930703/09/02 11:03ID:TJ4A1y2c
>>308
内部で作ったサーフェイス、っていうのがよくわかりません・・・(初心者ですみません)

どうもSDL_SetAlphaで設定したAlphaが無視(?)されてるような感じなんです。
0310名前は開発中のものです。03/09/02 14:48ID:Nz0HHtiV
>>307
半透明にしようとしているSurfaceのフォーマットと
SDL_SetAlphaの引数あたりが怪しい…

ってか状況を再現できる最小限のソースコード
くらい出してくれないと。
0311名前は開発中のものです。03/09/21 13:28ID:yIbPH+72
こっそり保守。
0312名前は開発中のものです。03/09/30 13:49ID:UUy5SKlJ
なんかSDLで作ったソフトを起動してる間NumLockとかCapsLockとかの
切り替えができなくなるのは俺だけ?
押してもキーボードのNumLockとか光ってるところが反応しない。
俺だけだったら放っておいて下さい。
0313名前は開発中のものです。03/10/01 01:15ID:BAewoLig
>>312
とりあえず試しにWin2K, MinGWな環境で
SDL1.2.5のtestglとか走らせてみたがそんなことにはならなかった。
0314名前は開発中のものです。03/10/02 07:10ID:rM1nLuHp
>>313
レスどうもです。
うちは98SEの1.2.5なのだけど、サンプルのソースとか他の公開されてる
SDL使用のソフトとかを実行してもそうなります。
多分俺の脳がどこか腐ってるんだと思います。
0315名前は開発中のものです。03/10/02 11:19ID:IlayBond
CTRL+左キーが利かないキーボードあるんだけど、
そんなのは関係ないのかな。
0316名前は開発中のものです。03/10/16 00:19ID:4n/2vXoO
SDL for Delphi ってあるでしょうか??
Ver0.5というのはあったんだけど、、
0317名前は開発中のものです。03/10/19 01:43ID:aHpL9q55
>>316
試しにググってみたけど何か違うものばかり引っかかりますな。
bc++5.5でSDLが動いてるようだから、技術的には可能そうだけど。
0318名前は開発中のものです。03/10/19 06:20ID:KVBreJJq
オレも試しにググってみたけど
↓で配ってるJEDI-SDLっての使うしかないんじゃないの?
http://www.delphi-jedi.org/Jedi:TEAM_SDL_HOME

試しにダウンロードして中見たらRunTimeはSDL-1.2.4だったよ。
Ver0.5ってのはJEDI-SDLのバージョンでは?
0319名前は開発中のものです。03/11/05 16:30ID:McixPKi6
プログラミング初心者でSDL弄ってるんだけどさ、実行中
常にCPU使用率が100%になるのを防ぐ手立てって無いものかな。
0320名前は開発中のものです。03/11/05 16:46ID:A/imeFD/
>>319
適宜SDL_Delay()を使う。
SDL_gfxのFramerate controlモジュールを使う。
0321名前は開発中のものです。03/11/22 00:08ID:Rkcr0fEN
Routine-Workさんのサイトを参考に、WinXPPro+MinGW3.1.0-1+MSYS1.0.9で
SDLをmakeしてみた。

SDL -> OK 問題なし
SDL_mix -> makeは問題ないが、出来たDLLをロードすると落ちる。
SDL_image -> 同上。

何か間違えたかと思い、
MinGWのバージョンを2.0.0-3に落としてみたところ、
全て問題なし。むー。ウチの環境だけの問題なんだろうか?
0322名前は開発中のものです。03/11/22 00:10ID:Rkcr0fEN
>>321
あ。微妙にミス&書き忘れ。
使用したライブラリのバージョンはそれぞれ、
SDL-1.2.6.tar.gz
SDL_mixer-1.2.5.tar.gz(<-mixじゃなくてmixerですた)
SDL_image-1.2.3.tar.gz
です。
0323名前は開発中のものです。03/11/26 01:58ID:oDpGQqNU
SDLでS3TC読み込み用の関数とかはありますか?
0324名前は開発中のものです。03/11/27 15:18ID:aQuPeEyb
>>321
うちでも同じ状態です…

SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
DLLを使うと落ちる感じ。

SMPEG サポートなしで SDL_mixer をコンパイルするか
MinGW 2.0でコンパイルしたものを使うかで回避してるけど
対処法あったらおれも教えてほしい。
0325名前は開発中のものです。03/11/27 22:15ID:BoqYAr6p
うちは、DLL集めてエクスプローラから起動するとOK
cygwin shell上から実行するとDLL読み込みエラーで落ちる
0326名前は開発中のものです。03/11/29 00:19ID:+Zau//Z5
>>324 >>325
ありがとう、ウチだけの問題じゃないと解かって一安心です。

ただ、
> SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
> DLLを使うと落ちる感じ。
これはこちらとはちょっと現象が違う模様。

こちらで落ちたSDL_mixerは、libogg,libvorbis有り、SMPEG無しで
makeした物だったんで。

ちなみに、SDL_imageはjpeg,pngサポート有りでmakeしたものです。

しかし、困ったモンですな。MinGW、SDL_mixerどちらの問題なんだろう?
032732103/11/29 00:19ID:+Zau//Z5
>>326
あ、書き忘れましたが321です。
0328名前は開発中のものです。03/11/30 21:34ID:8v/2nacI
関連する情報持ってる人キボンage
0329名前は開発中のものです。03/12/01 13:40ID:JdYcmEbH
WinXP + MinGW 3.1 + MSYS 1.0.9 でちょっと試してみた。

SDL だけを使った場合落ちないけど以下ライブラリをコンパイルして
出来たDLLをロードすると落ちる。この環境でコンパイルしたDLLだと
shellから起動しようがexporlerから起動しようがダメでした。

* smpeg
* SDL_mix(vorbisあり,mp3あり)
* SDL_mix(vorbisあり)
* SDL_image
* SDL_net

DLLだけを他の環境でコンパイルしたもの(公式サイトで配布
されているやつとか)に置き換えたら動いたのでやっぱ生成された
DLLがマズそうな感じ…。やっぱMinGWの問題だろうか?
0330名前は開発中のものです。03/12/02 23:01ID:KdpcWnCh
空いた時間をつぶす時はSDL_Waitで十分かな?
0331名前は開発中のものです。03/12/02 23:30ID:KcbsioGe
D言語でもSDL使えるんだね。あげ
0332名前は開発中のものです。03/12/02 23:34ID:hSDazT4V
SDL_Delay()だね。
SDL_gfxのフレームレートモジュールを使うのも手
0333名前は開発中のものです。03/12/19 02:07ID:ECJ/47WV
たまには保守。
0334名前は開発中のものです。03/12/21 22:10ID:zLwkl8zD
D言語スレをROMってたんだけど、C#でもつかえるんだってね。
0335名前は開発中のものです。03/12/21 23:41ID:KhQmPO5+
Windows以外でも?
0336名前は開発中のものです。03/12/23 23:40ID:BQv+dX+Y
>335
Windows以外(monoとか?)はどうかは知らんが…
http://cs-sdl.sourceforge.net/
0337名前は開発中のものです。03/12/24 19:13ID:GxASKMN4
dreamcastでSDL開発してる香具師いらっしゃいますか?
0338名前は開発中のものです。03/12/27 12:32ID:q7duODMu
>>337
> dreamcastでSDL開発してる香具師いらっしゃいますか?
SDL-fan-jp MLでたまに見かける人に一人いるみたい、って以外は知らないなぁ。
0339名前は開発中のものです。03/12/28 20:49ID:qtY7Eg01
>336
それ、SDL.NET-1.5.1.zip落として解凍すると、
0kbなんだけど…なんか特殊なのかな?
どこから(ミラーサイト等)でも同じ現象。。。
0340名前は開発中のものです。03/12/29 19:28ID:w1hTPfgh
書き込み頻度を見ると、ネラーのSDL使用って少ないのかな?
WinでDirectX使うより簡単だし始め易いと思うんだけど…
0341名前は開発中のものです。03/12/30 12:23ID:2hrqggZr
>>340
>WinでDirectX使うより簡単
同意。このスレ見るとWindowsにしてもMinGWでMSYSみたいなUNIXよりの人のが多そう。

好意的に解釈すると、
SDLは判りやすすぎて誰かに質問する必要がない、とか。
ドキュメントが多少説明不足でもソースおっかけりゃすむこと多い気がするし。

たまにいるライブラリ使うとなんか負けたような気分になる不思議な人らとか、
後はDirectXのバッドノウハウってヤツもあるのかも。
ttp://www.namazu.org/~satoru/misc/bad-knowhow.html
0342名前は開発中のものです。03/12/31 09:21ID:2dmaFMP8
>>341
同意。SDLはしきい低いと思う。
けど、描画で凝ったことしようとするとOpenGL使うか、
他の周辺ライブラリ使うかになることが多い気がするが、
ここで難しいという印象を与えてしまってる部分がある予感。
0343ぁきまさ03/12/31 10:27ID:uPGIOmXx
DirectXforVB→SDL→DirectXに移ってみた者ですが、
感想としては、DirectXめんどくさすぎです…。
SDLなら一行でできることをDirectXでは長々と書かなければいけないのは苦痛です。
そのくせ、SDLならマルチプラットフォームを簡単に実現できることを考えるとDirectXでやることは考えられません。

2Dのゲームに限っては、ですが…。
以下個人的理由です:

SDLでOpenGLを使って複雑なシーンを構築する際、
DirectXにはXFileというとっても楽ちんなものがありますが、
OpenGLにはそれに相当する物はあるのでしょうか?
外部ファイルによる物体の表示だけならまだしも、
アニメーションまでやろうとするとそれだけでかなり労力を割かれて萎える気がするのですが…。
0344名前は開発中のものです。04/01/03 23:35ID:ZUnJFgEf
>>343
なんかあった気がする。
無かったら作っちゃえよ。
0345名前は開発中のものです。04/01/05 23:14ID:0FMgJlKl
>>343
海外のチュートリアルサイト見れば3dsファイルとかlwoファイルとか
Quakeとかのmd2, md3とかQuake BSPファイルとかを表示する
サンプルプログラムが腐るほど落ちてるよ(Xファイルのもある)。
中には自由に使えるものも結構ある。探してみるべし。
0346名前は開発中のものです。04/01/05 23:16ID:0FMgJlKl
個人的には、D3DXSpriteで出来ることくらいは出来てほしい>GL以外のSDL
具体的に言うと回転が高速に出来てほしいわけだけど…。
実装されないのはPC Unix方面で何かネックとなるものがあるのかな…?
0347ぁきまさ04/01/06 08:58ID:ZNIQCPQq
>>345
そうなんですか。
ありがとうございます。
やっぱり、海外の方が情報が多い。のでしょうか…。
0348名前は開発中のものです。04/01/06 13:15ID:Q68qBWfA
>>321
試してないけど MinGW-users メーリングリストに
http://sourceforge.net/mailarchive/forum.php?thread_id=3700241&forum_id=5119
ってのがあったよ。

要するに SDL_* に入ってる ltmain.sh がマズそうだから SDL_ttf の CVS
の最新から拾ってきて置き換えればいけるかもってことみたい。
0349名前は開発中のものです。04/01/07 01:08ID:FwBNDK1A
>>348
お!情報サンクス。

しかし、そのメールの日付が2004/01/05ってことは、
えらい最近まで原因判明してなかったのかー。
0350名前は開発中のものです。04/01/07 09:37ID:zZ1n6DvZ
>>349
いや…

CVS見ると2003/11/19には直ってたみたい。
http://www.libsdl.org/cgi/cvsweb.cgi/SDL_ttf2/ltmain.sh
0351名前は開発中のものです。04/01/07 12:16ID:kS7ua9BI
>>346
もうOpenGLメインにした方がいいかもなー。
DirectXは3D機能で2Dを表現するのが主流になってきてるそうだし。
0352名前は開発中のものです。04/01/08 12:06ID:cCRZtzcW
>>346
>>351の意見も一理だが、SDL_gfxじゃ不足かい?
回転と拡縮とMMX使用のイメージフィルタがあるそうなんだが。

ttp://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/

ちなみにLGPL。
SDLは回転とか含め応用(?)な機能を
ポータブルに実現できる「レイヤ」を提供するもんだろうから、
多分SDL自体に実装されることはないと思われ。
0353名前は開発中のものです。04/01/10 01:50ID:Th3gvov6
回転などの「インタフェース」を用意してもいい時期ではないかと、
そろそろ思うわけだけどね。

まぁ、glutやWGLみたいなOpenGLフレームワークの一つとして収まるつもりなら、
別にそれでもいいと思うけど。
0354名前は開発中のものです。04/01/10 22:25ID:CxzW6WTE
>>353
「SDL Request For Implementation」、略して「SRFI」ってノリか。……Schemeと名前被るけど。
0355名前は開発中のものです。04/01/11 05:04ID:kHguDFRk
mingw(gcc3.3.1)+msys1.0.9+SDL1.2.6でエラーが出て
SDLをビルドできないんですが・・・。

> c:\mingw\bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe:
> .libs/libSDL.lax/libhermes.al/mmxp2_32.lo: bad reloc address 0x87 in section `.text'

binutilsというかld-2.14.90のバグらしいのでSDLだけ
ldを2.13.90に差し替えてビルドしましたけど、大丈夫ですかね…。
早めにバグ取ってupdateしてほすいですな…>binutils
0356名前は開発中のものです。04/01/12 00:17ID:jHaBXaUC
>>355
確信はないけど、大丈夫なんじゃない?
そのぐらいで毎度問題出るんだったら、
公式で配ってるバイナリ配布版なんて誰も使えないことに。
0357名前は開発中のものです。04/01/12 10:30ID:oW00NT9Y
【ゴールデンレス】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
035835504/01/12 16:22ID:k60kLF8M
>>356
できたSDL.dllをmingwでコンパイルした
メインプログラムと組み合わせると動いたのですが
VCでコンパイルしたメインプログラムとあわせると落ちてしまいました。

バイナリ配布のSDL.dllでは両方動くので
何か間違えてしまったかもしれませんです。ld だけ換えたせいなのかな…。
make install まで通ったので、あまりこだわらないことにします。(^^;
0359名前は開発中のものです。04/01/22 13:27ID:+O9pXp3N
>343
こんな便利なライブラリがある。
http://www1.seaple.icc.ne.jp/tomtom/development/review/osg_frameset.html
日本語の情報ページは、今の所このサイト位らしい。
もったいないからどんどん活用すべし。
0360名前は開発中のものです。04/01/22 17:42ID:viuBoj2b
>>357
そのコピペの頭の悪そうな感じが大好き。
0361名前は開発中のものです。04/01/24 00:42ID:gl5Pax92
>>343
http://cal3d.sourceforge.net/
これもなんとなくよさげっぽ?
0362名前は開発中のものです。04/02/01 22:25ID:VsJKdPiS
フルスクリーンにしてSDL_FillRect使うとものすうんごく遅いんですが、
こんなもんなんでしょうか?
SDL_FillRectを使わなければ60fpsくらい出るものが1以下に...
0363名前は開発中のものです。04/02/03 17:19ID:0RlVpYsz
>>362
あなたの環境でフルスクリーンでSDL_FillRect使って
ものすうんごく遅くなる最小限のサンプルプログラムを
示してくれればみんなテストしてくれると思うよ?
036436204/02/04 11:41ID:URHwb4SZ
>>363
長くなるので一部省略します。

if(fullScreen)
 screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_FULLSCREEN | SDL_DOUBLEBUF);
else
 screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);

while(1) {
 static int px = 0;
 SDL_Rect area = {0, 0, 640/2, 480};
 SDL_FillRect(screenSrf, NULL, SDL_MapRGB(screenSrf->format, 255, 255, 255));
 if(px > 640 / 2) px = 0;
 else px++;
 area.x = px;
 SDL_FillRect(screenSrf, &area, SDL_MapRGB(screenSrf->format, 0, 0, 0));
 SDL_Flip(screenSrf);
 waitByFPS();
 printf("FPS=%d\n", nowFps);
}
036536204/02/04 11:44ID:URHwb4SZ
waitByFPSの中身です。

static void waitByFPS() {
 Uint32 nowtime,lefttime;
 static Uint32 lasttime=0;
 const Uint32 interval=1000/fps;
 nowtime = SDL_GetTicks();
 lefttime = lasttime+interval-nowtime;
 if(lasttime+interval>nowtime) {
  SDL_Delay(lefttime);
  lasttime=nowtime+lefttime;
  nowFps = fps;
 } else {
  nowFps = 1000 / (nowtime - lasttime);
  lasttime=nowtime;
 }
}

変数fpsはint型で60、nowFpsには現在のFPSが入っています。
036636204/02/04 11:50ID:URHwb4SZ
っと、ここまで貼ったのですが、このプログラムの場合、
フルスクリーンにしたときにFPSが下がるのではなく、
何も写らなくなってしまいます。

問題が発生した元のプログラムも、どうやらSDL_FillRect又はSDL_Flipに
時間がかかっているのではなく、画面が実際に更新されていないだけのようです。
(つまり、nowFpsにはちゃんと60が入っている)

機種固有の問題でしょうか? よろしくお願いします。
0367名前は開発中のものです。04/02/07 11:16ID:X+ZonyxN
>>362
以下の環境で試してみましたがどの環境でも
フルスクリーン,ウィンドウモードの両方とも
正常に画面は更新されました。

ThinkPad X30, WinXP, cygwin + SDL 1.2.6
自作PC, Win2k, MinGW + SDL 1.2.6
自作PC, Linux2.4.22, SDL 1.2.5

# せめてコンパイル可能なプログラムを…
036836204/02/07 20:35ID:O0CtMFQf
>>367
ありがとうございます。そんなにたくさんの環境で...
やっぱり環境固有の問題みたいですね。

# 途中省略ってのはまずかったみたいですね。
# いや、ソース読むだけで判断するかなと...
# 想像以上に親切で迷惑をかけてしまったようです。スイマセン
0369名前は開発中のものです。04/02/23 10:47ID:E1aLNUXa
SDL version 1.2.7 リリース!
ってことで保守
0370 ◆8fOTfwdIi. 04/02/25 04:31ID:1WNUyKXe
SDL_archive っての作ってみたよ。
アーカイブファイルを元に内部のファイルのインデックス作って、
そこから SDL_RWops を生成できるってもの。
http://qas.sourceforge.jp/libraries/
VisualC++ と BCC のビルド環境しか入れてないから
gcc な人とかは自分で全ファイルをコンパイル&リンクして適当に作ってくだちい。
0371名前は開発中のものです。04/02/26 22:15ID:dtKYNn6B
>>370
そこに置いてあるpatchって本家にマージせんの?
0372 ◆8fOTfwdIi. 04/02/27 02:26ID:6UxR2Ywv
>>370
ちょっと本職が忙しくて睡眠時間すら削り取られてて、本家に投げる暇が無いのよ。
それに英語苦手なもんで……誰かパッチ投げだけやってくれる人いないかな。
0373 ◆8fOTfwdIi. 04/02/27 02:33ID:6UxR2Ywv
間違えた。>>371
0374名前は開発中のものです。04/03/01 21:32ID:4drL0pqW
SDL_gfxのImageFilterって使い方がいまいち分からない。

Test/ディレクトリにあるサンプルは適当な配列をいじってベンチマークしてるだけだし。

どっかに実際に使ってるdemoとかgameありませんか?

■ このスレッドは過去ログ倉庫に格納されています