私は 10.8 Mountain Lion を使用して OpenGL 3.3 の arcsynthesis チュートリアルに従っています。プロジェクトをビルドするときに、GLSL バージョン 3.30 を使用してシェーダーをコンパイルおよび実行しますが、Mac OS 10.8 のコア プロファイルであっても、GLSL 3.30 をサポートするべきではありません。 1.50 (写真でハイライト表示)
私がどうやってこの黒魔術を達成したか説明できる人はいますか?
私は 10.8 Mountain Lion を使用して OpenGL 3.3 の arcsynthesis チュートリアルに従っています。プロジェクトをビルドするときに、GLSL バージョン 3.30 を使用してシェーダーをコンパイルおよび実行しますが、Mac OS 10.8 のコア プロファイルであっても、GLSL 3.30 をサポートするべきではありません。 1.50 (写真でハイライト表示)
私がどうやってこの黒魔術を達成したか説明できる人はいますか?
OS X 10.8 はまだ OpenGL 3.2 のみをサポートしていますが、属性 location の指定など、いくつかの 3.3 機能を備えています(#extension GL_ARB_explicit_attrib_location : enable)
。シェーダー コンパイラは、4.10 までのバージョンを受け入れます。彼らは互換性のためにそこに残したのかもしれませんし、(SPECULATION) 最初は 4.1 をサポートするつもりだったのかもしれません。
これは、少なくとも 10.8 を数週間使用した後の私の結論です。
編集: 4.10 の憶測は的を射ていたようです。バージョン 4.10 までの 10.9-10.12 サポート。彼らは、先に進んで計算シェーダーを取得するのではなく、Metal API にリソースを費やしたかったのだと思います..