2011-08-28 4 views
5

MacでGLSLのバージョンを設定するにはどうすればよいですか?これも可能ですか?私はフラグメントシェーダを実行しており、vec3sの配列を作成したいと思いますが、シェーダコンパイラはより高いGLSLバージョンを使用する必要があることを示すエラーを生成しています。具体的なエラーはMacでGLSLのバージョンを設定する

'array of 3-component vector of float' : array type not supported here in glsl < 120 

ありがとうございます。私はマックの経験を持っていませんが

答えて

5

、あなたのシェーダの最低必要なバージョンを指定することができ、あなたのシェーダの最初の行として

#version 120  //shader requires version 1.20 

のようなものを使用して(デフォルトでは1.10である、私は思います)。もちろん、指定されたバージョンもハードウェアとドライバでサポートされていなければなりません。これはglGetString(GL_SHADING_LANGUAGE_VERSION)で確認できます。

EDIT:私も、私は私自身がかつてこれを正常に違反しているかなり確信しているが、一緒にリンクされているすべてのシェーダは、同じバージョンをターゲットとすべきであると述べているGLSLの仕様、に表情でこれを確認したが、これは私の寛容なnVidiaドライバのおかげです。したがって、リンク時にまだ不満が残っている場合は、同じ#versionタグを頂点シェーダに追加してください。

+0

ありがとう、それは私が必要としたものです。それはうまくいくようです。 – TaylorP

関連する問題