問題タブ [sdl-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1249 参照

android - SDL 2.0 ソースには 1.3 が含まれていますか?

SDL 2.0 のソース コードをいじっていて、バージョン 1.3 であると主張する別の SDL フォルダが含まれていることに気付きました。

Android、iPhone、その他いくつかのソースがあるので、興味があります。安定版 1.2 はかなり異なっているようです。

私の質問はこれです、

SDL ウィキ リンク

このリンクは、コードが 1.2 と 2.0 の両方で機能する可能性がある SDL_compat.c について述べています。これは私が使用すべきバージョンであり、2.0 API が示唆する方法でコーディングする必要がありますか? Android や iPhone など、できるだけ多くのプラットフォームを対象とするコードを作成したいと考えています。

0 投票する
1 に答える
2438 参照

opengl - OpenGL と DirectX による SDL ウィンドウ管理

小さなグラフィック エンジンを DirectX 9 から OpenGL に移植しています。エンジンは SDL (現在は 2.0 に移植) を使用して、入力とウィンドウの作成を管理します。

OpenGL と DirectX の両方のウィンドウ イベントを正しく処理する方法を知りたいです。デスクトッププラットフォーム(Linux、OSX、およびWindows)のこれらに興味があります

  • ウィンドウ解像度の変更
  • フルスクリーンからウィンドウへ/ウィンドウからフルスクリーンへの処理
  • Alt+tab 処理 -

ネットで検索してみましたが、なかなか情報がまとまっていません。他の多くの人が以前に同じ問題に直面したと思います。

エンジンのその種の処理に関するガイドラインを読むためのリソースはありますか? OpenGL と DirectX の両方で、転送されたリソースをレンダラー システムに失うことなく解像度の変更を処理することは可能ですか?

0 投票する
3 に答える
18871 参照

c++ - SDL2テクスチャのポイントは何ですか?

私はSDL2テクスチャの背後にあるロジックに固執しています。私にとって、あなたがそれらに引き寄せることができないので、それらは無意味です。

私のプログラムでは、いくつかのサーフェス(またはSDL2に切り替える前のサーフェス)があり、それらをつなぎ合わせてレイヤーを形成しました。SDL_RenderCopyさて、同じ効果を作成するには、テクスチャポインタを使用するため、いくつかのレンダラーとテクスチャを作成する必要があるようです。

それだけでなく、すべてのレンダラーはウィンドウから来る必要があります。これは私が理解していることですが、それでも私をもう少し汚します。

これはすべて非常にかさばり、遅いようです。私は何かが足りないのですか?テクスチャに直接描画する方法はありますか?テクスチャのポイントは何ですか?サーフェスであったものの代わりに複数の(数百ではないにしても)レンダラーを使用しても安全ですか?

0 投票する
1 に答える
3252 参照

ios - ffmpeg/sdlを使用してUIView内でビデオを再生する方法

ffmpegとsdl2でさまざまなビデオ形式を再生できるビデオプレーヤーを作成しようとしていますが、UIView内にビデオフレームを表示する必要があります。SDL APIとそのサンプルを調べた後、私はそれを行う方法を見つけることができませんでした。SDLは、特定のではなく、(アプリのメインUIWindow)への参照を保持するにSDL_Renderer画像をレンダリングするために使用します。SDL_WindowUIWindowUIView

なにか提案を?

0 投票する
2 に答える
3402 参照

c++ - OpenGL 4.3 コンテキストを作成すると GLX がクラッシュする

私は SDL2 と C++11 を使用してゲーム エンジンを構築しています (個人的なプロジェクトとして、楽しみと練習のために)。私がやりたいことの 1 つは、サポートされている最新バージョンをグラフィックス ドライバーで使用することです。バージョンに基づいて、エンジンのグラフィックス部分のレンダリング方法が異なります。このようにして、関連性があり便利な OpenGL の最新機能を使用できるだけでなく、古いハードウェアもサポートできます。私が考えることができる2つの方法があります:

  1. サポートされている最新バージョンの OpenGL を検出して使用していますが、それを行う方法が思いつきません。はい、Google を試しました。

  2. 試行錯誤を使用して、最新バージョン (4.3、ただし、ドライバーを更新したにもかかわらず、私の GTX 460 は 4.2 までしかサポートしていません) から開始し、それが失敗した場合 (SDL をチェックして NULL コンテキストを返すことで検出します) )、バージョン番号を下げて再試行します。

私が使用する方法 (#2) は、4.3 コンテキストの作成直後に失敗します。現在、グラフィックス ドライバーが 4.2 しかサポートしていないことはわかっていますが、GLX はエラーをスローし、NULL コンテキストを与え、プログラムを続行させるように設計されていると思っていましたが、代わりにコンテキストの作成の失敗を乗り越えることはできません。 . GLX がどのように動作するかについての私の仮定は間違っていますか? コンテキストを作成せずに、サポートされている最新のバージョンを検出する方法はありますか?

一部の人々がエラーを示す完全で最小限のソースを見たいと思っていることを知っているので、ここに示します:

また、そのコードを 4.3 ではなく 4.2 コンテキストで開始するように変更すると、問題なく動作します。したがって、具体的には 4.3 コンテキストを作成する際にエラーが発生します。

0 投票する
2 に答える
11102 参照

c++ - SDL2OpenGL3関数内でSDLを初期化する方法

新しいSDL2ベータ版とOpenGL3コンテキストを試していますが、奇妙な問題が発生しています。

main()関数でSDL初期化コードを実行すると、正常に機能しますが、このコードを別のinit_sdl()関数に入れたいと思います。

初期化コードを別のinit_sdl()関数に入れ、この関数をmain()から呼び出すと、背景色が描画されず、プログラムがシステムのすべてのリソースを大量に消費し始めます。

SDLが別の関数で初期化される実際の例を誰かに教えてもらえますか?見つからないようです...たぶんこれは不可能ですか?SDL 1.2でも同様の問題があったことをぼんやりと覚えていると思いますが、それを使ってから数年が経ち、解決策が見つからなかったと思います。実際、これが私が代わりにSFMLの使用に切り替えることを選択した理由かもしれません。

より多くのプラットフォームで実行されるため、SFMLの代わりにSDL2を使用したいのですが、物事を小さな関数に分離できないことは、私にとって大きな問題です。これは簡単なはずです、私は何か明白なものを見逃していますか?

編集:

これは機能します:

これは機能しません:

0 投票する
0 に答える
1233 参照

ios - iOS 用 SDL ライブラリ

iOSアプリケーションにSDL 2を使用しようとしています。libSDL2.a をビルドして、プロジェクトに追加します。また、アプリケーション プロジェクトにすべてのヘッダーを追加しています。初期化のために、私は次のコードを使用しています:

そして、画像を描画するために次のコードを使用します:

写真は完全に描画されますが、描画後、プログラムでオブジェクトを追加しても、iOS ネイティブ オブジェクト ( UIViewUIButtonなど) やアプリケーション UI が表示されません。SDL のウィンドウ + レンダラーの作成後に UIKit コントロールを追加しようとしています。たとえば、UIKit コントロールを追加するには、UIView次のコードを使用します。

self は UIViewController です。

次に、コードを使用して取得しようとUIWindowSDL_SysWMinfoます。

しかし、初期化しようとするとSDL_SysWMinfo、巣の問題があります: https://docs.google.com/open?id=0B1IEde1HB7cUSVE1NGpVNDRHTUU

誰にもアイデアはありますか?

0 投票する
2 に答える
840 参照

c++ - SDL 2.0 -> NULL ミューテックスを渡しました

SDL 2.0 で簡単な例をコンパイルすると、コマンド SDL_CreateWindow の後で、次のエラーが発生しました:「NULL ミューテックスを渡しました」。

静的ライブラリ プロジェクトを使用しています。また、OSX 10.8.3 でテストしています。

これは、コマンド ラインのコンパイルで何か不足していることを通知しますか?

以下は、プログラム生成とコード例を生成するためのコマンド ラインです。

コンパイラ:

リンカ:

コード: