2017-04-13 8 views
0

私はデスクトップでうまくレンダリングするが、アンドロイドでレンダリングしないopengles 3.1アプリケーションがあります。Android Opengles 3.1 - ユニフォームバッファオブジェクトがサポートされています

ビットが間違っているのは、均一なバッファオブジェクトがある場合です。頂点シェーダでは、私は以下の例のための

layout (std140, binding = 0) uniform matrixUbo 
{ 
    mat4 projection; 
    mat4 view; 
}; 

を持っているこれはdeskopドライバを使用して[OK]を動作しますが、Android上でそれが失敗します。私がテストしているopenglesのバージョンは3.2互換で、関数呼び出しはアンドロイドで利用できます。

私は、頂点シェーダのバインディングを設定してglUniformBlockBindingメソッドを使用してそれらを設定しようとしましたが、どちらもアンドロイドでは動作しません(しかし、両方ともデスクトップ上で動作します)。

もしそれらを行列に使っていなければ、オブジェクトはレンダリングされます(私はアンドロイドの電話でそれらを見ることができます)が、それらの行列を含めると何も描画されず、行列はゼロです。

アンドロイドでUBOをサポートするために必要なことはありますか?

必要に応じて詳細情報を提供しています。

答えて

0

私自身の質問に答えるには、アンドロイドOpenGL es 3.1でサポートされていますが、データを更新するときには、関数呼び出しがサポートしていても、ByteBufferを使用する必要があります。奇妙な問題とデバッグする痛み!

関連する問題