1

C++ でのインディー ゲーム開発に興味があり、そのために OpenGL 3+ を使用したいと考えています。私が現在直面している主な問題は、OpenGL とオペレーティング システムの間のギャップを埋める方法を決定することです。私はすべての開発を Windows、Linux、および Mac で行うつもりです。ウィンドウ管理、I/O などにプラットフォーム固有のコードを使用して、独自の最上位レイヤーを作成する必要がありますか? SDL や FreeGLUT などのクロスプラットフォーム ライブラリを使用する必要がありますか? これらはパフォーマンスを犠牲にしますか?

補足として、私は Linux プログラミングをあまり行ったことがありません。OpenGL で X Window Server を使用する方法に関するチュートリアルはありますか?

4

2 に答える 2

1

私はSFML (C++ SDL)を使っていますが、FreeGLUTやAllegroもいいです。これらは、基本的なウィンドウの作成、入力処理などを提供します (選択内容によって異なります)。ただし、それらのいずれもが本質的にクロスプラットフォームであるとは思いません (Windows、Mac、Linux 用に異なるバージョンがあります)。

パフォーマンスに関しては、SFML のウィンドウ パッケージ (ウィンドウの作成と openGL コンテキストのセットアップ) だけでは何も遅くなりません。ただし、グラフィックパッケージを使用するとパフォーマンスの問題が発生しました。

自分で Linux プログラミングを手伝うことはできませんが、Google で簡単に検索すると、次のような結果が得られまし

于 2012-12-10T23:49:24.873 に答える
0

ウィンドウ管理、I/O などにプラットフォーム固有のコードを使用して、独自の最上位レイヤーを作成する必要がありますか?

いいえ。経験がない場合は、実行しないでください。

SDL や FreeGLUT などのクロスプラットフォーム ライブラリを使用する必要がありますか?

絶対。

これらはパフォーマンスを犠牲にしますか?

いいえ。ウィンドウとコンテキストがどの方法で作成されたかは、OpenGL の実装には関係ありません。OpenGL の実装から見ると、すべて同じように見えます。

OpenGL を使用した X Window サーバー?

FTB/Fungus は、数年前に X11 のサンプルで最も単純な OpenGL を投稿しました。透明なウィンドウの合成をサポートするために、少し前に拡張しました。もちろん、これはあまり移植性がありません (X11 なしで使用するという意味では、Windows に移植して、Windows で実行されている X11 サーバーで使用できます)。

https://github.com/datenwolf/codesamples/tree/master/samples/OpenGL/x11argb_opengl

于 2012-12-10T23:57:41.390 に答える