SDLスレ ver.2.0
■ このスレッドは過去ログ倉庫に格納されています
マルチプラットホームな汎用ゲームライブラリの
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/ 基本OpenGLの各種ライブラリでやってるんだけど、
画像ファイル読み込みと音声処理のためだけにコレ入れるのってアリ? それだけなら別にSDL使わなくてもって感じはするかな 音声処理->OPENAL
画像->libPNGなど
キー,ジョイスティック入力->各OSのAPI
でいいよ >>663
画像もOSGとかエンジン寄りのライブラリなら複数対応している気もするが。
そういえば以前SDL1.2系ベースで作った自前フレームワークも
ゲームループとキー入力、OpenGL2Dテクスチャ位しか機能無いな。
glutの代わり程度には成るので、
SDL_opengl.hを1.3系のに入れ替えてOpenGL3.0環境にして、
http://www.arcsynthesis.org/gltut/
↑のサイトのチュートリアルを移植して勉強中。 2.0でSDL_RenderCopyExで回転できることそれだけで嬉しい >>669
試しに作ったくそげーでよければ
ttp://www1.axfc.net/uploader/File/so/81760.zip
DLパスはneet
デバイスロストの対応だけど、SDL_RenderPresentした後
エラーメッセージにINVALIDCALLが含まれてたらrenderer作り直しにしてるけど
これでいいのかが解らない
手持ちの環境で試した限りDEVICELOSTが帰ってきたこと無いんだよな >>671
素直にソースコードもよこせって言えばいいのに。 >>670
よくできてんなー
5970点付近に俺の限界があるわ
簡単にゲーム作ろうってなるとWindowsだと選択肢たくさんあるけど
その他民だとSDLが一番手軽感あるな >>673
Windows用のゲームをLinux上で作りたかったからSDLを選んだよ
規模が適度に小さいので覚えること少なくていいわ
そのぶん自分で色々つくんなきゃいけないけどねw MessageBoxが入ったか
地味に欲しかったから結構助かるわ hg最新版でDebian関連ファイルが整えられてるけど、SDL 2.0のリリースが近いのかな。
MLではDuke Nukem Foreverネタしか見つけられんかった。
http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-January/086697.html まだちゃんと見てないけどGameControllerとかできたのね、wikiは追いついてないみたいだけど
CMakeにも対応してきてるし、そろそろ2.0くるのか? hg最新版でプラットフォームにPSPが追加され、代わり?にDSサポートが削除された。
この手の自作ソフト(homebrew)勢ってよく知らないんだけど、需要あるんだねえ。 ほんとだ、DS無くなったんだな
DSはハード考えると直接叩いた方がいいだろうし使ってる人少なそうだしな
SDLサポートしとけば各種エミュがすぐ移植できそうだし
結構需要はあるんじゃないかな、ユーザー層的に SDLの関数を使った画像や音声の読み込みって別スレッドから呼び出しても平気?
画面Flipしながら別スレッドで読み込めたら最高なんだけど。
ネットで検索しても全然出てこないから、俺が見逃してるだけだったら教えてください・・・。
でも流石にDXライブラリみたいな非同期読みこみが用意されてるなんてありえないよね >>682
SDLのBMPやWAVの読み込みだけならファイルを開いて読み込んで閉じるだけだから問題ないと思う。
あと非同期関数は無かったはず。
SDL_imageやSDL_mixerについては知らない。
というか、画像や音声の読み込みを別スレッドで行うと起こる問題ってなんだろう。
ファイル読み込み処理が使用するメモリをグローバルで共有してたりするとか?
読み込みだけなら競合も関係無さそうだし。 正直どういう実装になってるか次第なんだろうけど別スレッドでSDLの命令は呼ぶなってマニュアルに書いてあるよ
Surfaceだとビデオメモリ使ってたりしたらまずいだろうし…エラーメッセージとか確実に取る方法がない
SDL2でテクスチャ周り実装した時は、画像読み込み展開を裏でやってメインスレッドでテクスチャ変換って処理書いた
裏で読まなきゃいけないほどのデータ量作ったことないけどねw ありがとう〜
正直俺も裏で読むのが必要になるくらいのデータ量は作ったことないから
とりあえずそのままでいきますかね 正直、どうでも良い気がしてるなぁ。
なんか、SDLに新しい事は求めてない。
SDLを使うときはそれなりの時で、
結局はそれなりのフレームワークやミドルウェア使うんだし、
と思ってしまう。
まぁ、それよりもC#なりPythonのバインディングあります!!とか
言われても、既にそっちならOpen Sourceで楽で一通り評価の通ったのがあったりで、
2.0来るのが2年ぐらい遅かったと思うわ。
今更感が。 実際2.0なるの大分遅れたんだっけ
androidやiphone対応ついでにいろいろ見なおしたーって思えば悪くは無いと思うけどね
便利だとは思うんで地味に使われるんじゃね 地味〜に変わったところで、IME対応とかあるよねぇ
ちょっと毛色の違うアプリが出てくるかな? おーRC版お試しして以来放置してたけど、正式リリースされたんだ?おめでたい
しかしもう時代的にアレだなぁ、ライブラリのみのエンジンってめんどい・・・。
ただただゲームを作りたいだけなら、もうエディタとかGUIな開発環境と
リンクしてるような言語やスクリプト使えばいいやってなる
技術力向上のための練習と考えても良いけど、ライブラリじゃ中途半端だよね
SDLのソースコードをビルドして導入するあたりがピークな気がする SDLの2Dレンダラと併用できそうな3Dライブラリってないかな
デバイスの違いを意識せずに書けたらいいんだけど
OpenSceneGraphは無駄にでかくてちょっと敬遠してる SDLでカメラに貼りつくオペレーション部分作って
別ので3Dモデルを描画したいって意味? 遅まきながら2.0がリリースされていた事を知って触り始めたんだが……
オフラインにダウンロードできるAPIドキュメント一式って無いの?
手元のFreeBSD+OpenGL環境でも動くには動くんだがいくらなんでも公式サイトは手抜き過ぎではないかと。 >>696
レスどうも。Wikiは当然目を通してるよ。
その上でドキュメントの充実を公式もWiki任せにしないで欲しいって発言だったんだけど。
まあソースにdoxygen形式のコメントが付いてるのは後にないて気づいたんだけど。
それにしても思ったよりレンダラ周りのコードが綺麗でびっくりしたわ。 SDL2.0/mixer/image/ttfのC++のラッパーライブラリ作ったので、良かったらどうぞ
ttps://sourceforge.jp/projects/dxframework/simple/
SDL使ってる人って全員こういう自前ラッパーライブラリ作ってるのかな SDL2.0/mixer/image/ttfのC++のラッパーライブラリ作ったので、良かったらどうぞ
ttps://sourceforge.jp/projects/dxframework/simple/
SDL使ってる人って全員こういう自前ラッパーライブラリ作ってるのかな どーでもいいが、frameworkで1つの単語だぞ 連投してたスマン
>framework
と言うか、配布ファイル名とプロジェクト名が合ってなかった... SDL_BlitSurfaceって遅くない?
SDL_Render使わないと速くならないのかな gfxのrotozoomSurfaceがうまく機能しないんだが SDL2でやるんならSDL_Renderer一択でしょ
SDL1ベースのソースを使いたいなら話は変わるかもしれんが >>706
やっぱりそうか。
SDL_BlitSurfaceは手軽だからとりあえず使ってみたけど、ちゃんと作るならかえないといけないな。 さりげにSDL2.0の日本語リファレンスマニュアルが公開されてるじゃん。
使ってみようかな。 IME対応に喜んで、SDL2にしてみたけど
けっきょくIMM APIつかわないとあかんのね。ん〜なんか使い方間違ってる? ウインドウが干渉しあったりポップアップがとんでもないところに出たりしないなら
対応といえるんじゃね
それすら出来てない人気アプリもあるべ SDL2とSFML比べるとどうなんだろう
OpenGL叩くならあんまり違いないのかな 前のSDLのページには、他の人が作成したlibがありましたが
あれどこにあるのでしょうか なんでこれ日本で流行らないの?
俺も使ってないけど 他の便利なもの使ってるんじゃない?
そもそも日本以外では流行ってるんだっけ そもそもフレームワークをフルスクラッチで書く人間があまりいないからじゃね 本物のプロが使うものであって流行る=素人にウケるものじゃない プロは社内ライブラリがあるだろう。
音も個別の物を使う SDL_TextInputってAndroidでも使える? ググったら出てきたとか書いた方がいいのかな・・・(´・ω・`) SDLのフォーラムに「SDL2 + XIM problem & patch」と言うのが有ったよSDL2-2.0.4に当ててみたら動いたよ
でもこの時点でiBus対応とか言ってsrc/core/linux/SDL_ibus.cが追加されている・・・これどう使えば良いのかな?
上のパッチでも日本語入力は出来るしiBusの何に対応したのか良く分からない・・・
今はmozcを使っているのだけど、mozcのソースツリーからiBus関係のコードを削除しますって言われているみたいで
どうせ対応するなら本家でfcitxにも対応して欲しいな〜と思ってみたり
(SDL-fcitxというのも有るらしくソースを見てみたらSDL_fcitx.cが追加されていたよ、でも本家との関係が良く分からない)
Linux版Steamで日本語入力がしたいなと思ってちょっと調べたんだけどここまでのようだ
もっと詳しい方、情報が有ったら教えて下さい
SDL2 + XIM problem & patch: ttp://forums.libsdl.org/viewtopic.php?t=11421
SDL2-2.0.4: ttp://forums.libsdl.org/viewtopic.php?t=11305
SDL-fcitx: ttps://github.com/timxx/SDL-fcitx 久しぶりに本家を見てver2.0.4に更新(前はver2.0.1)してみたんだけど、
微妙にマウスイベント周りとかも変更されてるのね。
それはともかく、うちのFreeBSD上のSDL2+OpenGL環境でベンチマークもどきを試してみたところ、
420FPS->260FPSと6割近くまでスピードが落ちてしまった。
他にもgoogle profilerがエラー吐いたりしたので結局ver2.0.1に戻した…… SDL_RendererとOpenGLの相性悪くないかい?
Openglを利用して3Dで作っててフォントを表示したいだけなんだけど,
テクスチャにしないと表示できないのかな…
allegroも見てみるかな SDLを何も知らない超初心者がsdlを導入しようと思って早速詰まったところです。macです。
SDLのダウンロードページからdmgファイルをダウンロードして中にあった「sdl2.framework」というものを
システム>ライブラリ>frameworksフォルダのところにドラッグして入れようと思ったのですがどうしても弾かれて入れることができません。
Runtime Binariesという方とDevelopment Librariesで両方やってみましたがどうしてもframeworksフォルダに入れることができませんでした。
インターネットの情報も古いものしかないのでどうにも信頼性が・・・ Mac なら、Homebrew で管理しているのじゃ? macでのsdlの環境構築の方法を詳しく教えてください。ここ3日くらいやってもなかなかうまくいきません。
http://qiita.com/inomasa/items/d5a9c6ebfb2ff2e40003
このサイトを参考にしました。
よろしくお願いします。 何がどのようにうまくいかないのか教えてくれよ
回答者はエスパーじゃないんだぞ すいません。
先ほど貼り付けたURL通りにsdlのインストールを進めて一番上にあったURLを実行しましたが、#include <SDL2/SDL.h>←ここの部分でエラーが発生します。何がどうなったのかの説明もないので困っています。
もしかすると正しくインストールされなかったのかもしれません。 一番上にあったURL→×
一番上にあったソースコード 君は、あちこちのスレに、マルチポストしてるが、マルチポストは禁止!
プログラム板の、1つのスレだけで聞け 回答者はエスパーじゃないと指摘されてるにもかかわらず
「エラーが発生します」だけしか書かないあたり根本的に知能が足りてないだろ それは本当に英語で「エラーが発生した」とだけしか書いておらずなんのエラーなのか自分でもわからず困っていました。そこを書いていませんでしたね。
知能が足りてなくてすいませんでした。
もう少し一人で頑張ってみます。 それは本当に英語で「エラーが発生した」とだけしか書いておらずなんのエラーなのか自分でもわからず困っていました。そこを書いていませんでしたね。
知能が足りてなくてすいませんでした。
もう少し一人で頑張ってみます。 コンパイルエラーごときでつまずくレベルならSDLなんか使うもんじゃない コンパイルエラーなのか?
君は、それすらも書いていないじゃん。
漏れらには、何のエラーかも分からん
コンパイルエラーなら、コンパイルオプションで、すべての過程を最大限に詳細表示すればいい 日本語入力できるみたいだからWindows(MS IME)で試してみてるんだけど
ざっくりした未確定文字列と確定時の文字列しか受け取れない上に
変換候補ウィンドウも表示されなくて使いものにならんね windowsでもmozcだと変換候補のウィンドウが表示される
選択範囲は取れないけど候補見ればどこが選択されてるか分かるので、まあ使えるレベル ものによって変わってくるのか。IMMの実装が悪いのかな
SDLって結構多方面で採用されてるから影響大きい気がする
TSFの方が詳細なやり取りが求められそうだからこっちの方が良さそうなんだが
必要になった人間が作るしかないよな http://sdl2referencejp.osdn.jp/TextInput.html
の例を元にして、日本語入力のテストをしてみたけど、結果は
×Ubuntu
○Debian(GNOME)
×Debian(LXDE)
だった。
Debianの場合、共にuim-ximを使ってるんだが、なぜ違いが出るのだろう? すいません、初心者です
c++ 'sdl2-config --cflag --libs' -o test test.cop
gcc -o test test.cpp -lSDL2
どちらを使ってもsdlを使ったプログラムをコンパイルできたのですがこの二つは何が違うのですか?違うとしたらどちらを使うべきでしょうか? コマンドプロンプトで、where で、
そのコマンドがどの実行ファイルを起動するか、調べれば?
もし複数見つかったら、先に見つかった方(上の方)の、実行ファイルが起動される
C:\>where notepad ……メモ帳(notepad)を検索する
C:\Windows\System32\notepad.exe ……2つ見つかった
C:\Windows\notepad.exe
where c++
where gcc
詳細は、環境変数PATH を検索して >>746
同じくドの付く初心者です
前者はpkg-config を使って予めSDL2用に設定されたパスやライブラリ文字列を取得する書き方
後者はビルドに必要なパスやライブラリ等を全部自分で指定する書き方(-lSDL2みたく)
だったと思います(間違ってたら誰か優しい人訂正して下さい)
pkg-configって何なのかについてはWikipediaがわかり易かったので検索してみて
学習目的ならまずは理解の為に後者で書いて、慣れたら前者を覚えれば良いと思います
c++かgccかについてはc++コンパイラかcコンパイラのどちらを起動するかだと思う
個人的にはcファイルはgcc、cppファイルはg++で書く方が好き 少し調べてみた。
#include <stdio.h>
class CCC { };
int main(int argc, char *argv[]) { }
をコンパイルした場合、gccはエラーとなる
#include <stdio.h>
int class=0;
int main(int argc, char *argv[]) { }
をコンパイルした場合、g++はエラーとなる
gccとg++では、C++言語の予約語(class)の扱いが違う
(c++はg++にシンボリックリンクされている) c++ `sdl2-config --cflags --libs` -o test test.cpp
を実行すると、
最初に sdl2-config --cflags --libs 部分が実行される
次に c++ □□□ -o test test.cpp が実行される
(□□□部分は、最初に実行した結果が設定される)
なお、'(シングルクォート)と`(バッククォート)では意味が違うので注意 `(バッククォート)で囲むと、コマンド置換
`処理`
先に処理が実行された後、その結果に置き換えられてから、
本体のコマンドが実行される
詳細は、シェルスクリプトを参照 そんなレベルの輩がSDLなんか使うなっつってるだろ SDL2.0.6でたな
日本語入力は強化されてないみたいだが、XIM (X Input Method)等を勝手に使えというスタンスなのか? >>745
×Ubuntu ---- SDL2-2.0.4
○Debian(GNOME) ---- SDL2-2.0.5
×Debian(LXDE) ---- SDL2-2.0.4
バージョンの違いだったようだ。 >>755
既にSDL2-2.0.5時点で日本語入力に対応している模様だ。 2.0.6はWindowsではno-soundで問題になっている。
2.0.7-prerelease もビルドしてみたがこれもだめだ、Fixされていない。
mingw windows7 期待はしてるんだが、SDLは製品として使うだけのクオリティがないんだな >>759
SDLって昔からあるのに
普及度はイマイチだよな >>761
今までゲームといったらDirectXだったし、OpenGLが今一だったからね
近年、GPUメーカーがLinux用ドライバ開発に意気込んでるみたいだから、
マルチプラットホームのAPIが欲しいところだね ■ このスレッドは過去ログ倉庫に格納されています