2012-08-30 6 views
5

私は、OpenGLを使ってNSOpenGLViewのUIの一部をレガシープロファイルで描画するMacアプリケーションを作成しています。Lionを搭載したすべてのMacはOpenGL 3.2をサポートしていますか?

私のアプリはOS X 10.7以降を対象としています。

OpenGL 3.2に移行すると、Lionを使用しているユーザーの中にはLionを実行するユーザーやOpenGL 3.2をサポートしているLionを持つMacを使用できないのですか?

答えて

5

OS X 10.7のSDKにはOpenGL 3.2のコアプロファイルが含まれていますが、実際の実行時のサポートにはOpenGL 3.2準拠のGPUとドライバが必要です。

OpenGL 3.2は2008年にリリースされ、OS X 10.7 Lionは2006年に戻る特定のMacモデルをサポートしています。Late 2006 Core 2 Duo MacBook ProはLionで動作し、OpenGL 2.0 GPUであるATI Mobility Radeon X1600を搭載しています。

10.7 Lionを実行できるコンピュータのセットは、OpenGL 3.2プログラムを実行できるコンピュータのセットの上位セットであることが示されています。

私はMacの専門家でもOpenGLプログラマーでもないことに注意してください。OpenGLがどの程度下位互換性があるのか​​分かりません。 OpenGL 3.2ライブラリのコンパイルはうまくいきますが、ハードウェアアクセラレーション3.2の機能を使用しようとすると、ランタイムエラーが発生します。しかし、使用する前に機能がサポートされているかどうかを確認する必要があります。そのため、ごくわずかな変更を加えれば、古いMacでプログラムを正常に動作させる必要があります。

0

there's there's answer is correct、あなたがLionを実行しているがハードウェアアクセラレータではないすべてのMacで使用可能なソフトウェアレンダラーフォールバックオプションを無効にすると、

は、ここでのOpenGLの詳細なリストが異なるのGPUおよびシステムソフトウェアレンダラでサポートされている機能である:https://developer.apple.com/graphicsimaging/opengl/capabilities/GLInfo_1075_Core.html

5

OSXは、OpenGL機能がハードウェアで利用できないときに自動的に使用されているソフトウェアのフォールバックレンダラを持っています。 Lionを実行するすべてのOSXマシンは、このソフトウェアフォールバックレンダラを介して完全なOpenGL 3.2コア仕様をサポートしています。ハードウェアで利用できない機能を要求した場合、OpenGLフレームワークは静かにグラフィックスパイプラインのその段階のソフトウェアレンダリングに戻ります。

これは、ハードウェアに関係なく、Lionを実行しているすべてのMacがOpenGL 3.2アプリケーションを実行することを意味します。ランタイムエラーは発生しませんが、GPUがハードウェアでサポートしている機能とレンダリングタスクの複雑さに応じて、許容できるパフォーマンスが得られるかどうかは関係ありません。

関連する問題