OpenGL ESとOpenGL(Windows)のシェーダソースを同じにしたいと思います。これを行うために、カスタムデータ型を定義し、OpenGL ES関数のみを使用したいと考えています。 Windowsのシェーダ用OpenGL ESとOpenGL互換シェーダ
#define highp
#define mediump
#define lowp
と、それは、OpenGL ESのためであるとして、シェーダを書く:
一つのアプローチは、定義することです。
他のアプローチは、OpenGL ESのために、このようなカスタムデータ型を定義することです
:Windowsの#define hvec2 vec2
ため
#define hvec2 highp vec2
と、このようにあなたは何だと思いますが良いですか?この問題の他の解決策はありますか?
これはどのように動作するのですか?私は仕様を抜きにしましたが、GLSL ES(バージョン100)とGLSL(バージョン150)がどのように互換性があるかに関係するものは何も見つかりませんでした。 –
将来の参考として、私は、ES2_compatibilityの下で、OpenGL 3.2>コンテキストがES 2.0シェーダに#version 100を上にロードできることを発見しました。 –