0

私の理解でGLKBaseEffectは、これにはある種の汎用頂点シェーダーとフラグメントシェーダーが付属しており、[baseEffect prepareToDraw]が呼び出されると、エフェクトはOpenGLユニフォームや属性などのプロパティ値を渡しtransformfogデフォルトのシェーダーが期待するユニフォームを受け取るようにします。

それらのユニフォームと属性がどのように命名されているか知っている人はいますか?より良い、誰かがの標準シェーダーのソースコードを持っていますGLKBaseEffectか?

4

1 に答える 1

1

Xcode 4のフレームデバッガーを使用して、生成されたGLSLを確認できます。これらのシェーダーの使用法を変更する場合は、実行時にGLKitに依存してシェーダーを生成するのではなく、シェーダーソースを独自のアプリにコピーすることをお勧めします。

特にユニフォーム名はGLKitのプライベート実装の詳細であり、いつでも変更される可能性があり、変更される可能性があります。これにより、これらのフィールドを直接設定しようとするアプリが破損します。シェーダーテキストを自分でスナップショットする場合、そのような心配はありません。

于 2012-08-30T05:38:03.897 に答える