11

SDL 2 はバックグラウンドで OpenGL レンダリング (Windows の場合はおそらく DirectX) を使用し、この決定は SDl 自体によって行われると想定しています。

SDL で OpenGL を直接使用する方法を示すチュートリアルを見たことがありますが、OpenGL を直接使用することで得られるメリットがあるとしたら、どのようなメリットがあるのでしょうか? SDL がネイティブに実現できないことはありますか?

4

2 に答える 2

11

グラフィック目的で SDL 機能に完全に依存している場合は、単純な画像とバッファ関数にしかアクセスできません。

高速化された 2D レンダリング API: 簡単な回転、スケーリング、アルファ ブレンディングをサポートし、すべて最新の 3D API を使用して高速化されています

しかし、SDL が行っていることは、OpenGL コンテキストを提供することです。これは、3D オブジェクト、シェーダーなどを含む OpenGL 機能にも完全にアクセスできることを意味します。

SDL を使用してコンテキストを作成し、サウンド、入力、ファイル I/O を提供したり、OpenGL を使用して画面に色を表示したり、SDL ビデオ API を使用してスプライトや画像を描画したりできます。

于 2013-09-16T01:14:51.013 に答える
1

http://wiki.libsdl.org/MigrationGuide

Direct3D、OpenGL、OpenGL ES、またはソフトウェア レンダリングをバックグラウンドで使用できるシンプルな 2D レンダリング API

SDL2 は、2D グラフィックス (およびその他の問題) を簡単に開始できるようにしますが、SDL だけで「リアルな 3D」を行うことはできません。(それとも、私は何かについて知らないのですか?)

SDL が「舞台裏」で何をしているのかはわかりませんが、OpenGL (または Direct3D などの他の API) を直接使用すると、コードとレンダリング プロセスを完全に制御でき、SDL グラフィックス API に限定されません。

ウィンドウやグラフィック コンテキストの作成、およびマウスなどの入力デバイスの使用にのみ SDL を使用します。

于 2013-09-15T18:58:39.997 に答える