0

OpenGL ES 2 で非常にシンプルな GUI フレームワークを構築することを楽しみにしています。

おそらく私のフレームワークの 2 つの主要な部分は頂点シェーダーのコレクションとジオメトリ シェーダーのコレクションである可能性があることに気付きましたが、OpenGL は単なるレンダリング テクノロジであり、対処する必要があるため、プラットフォーム固有の拡張機能があるかどうか疑問に思っていました。 GUIを使用すると、OpenGLが明らかに管理も気にもしない入力部分も含まれます。

Linux の X11 のような最も人気のあるグラフィカル サーバー用の拡張機能がいくつかあるのではないかと思っていました。GUI の構成要素を構築するのに役立つ同様の技術はありますか?

4

1 に答える 1

0

既存のフレームワークを使用する以外に、UI プログラミングを容易にするOpenGL/OpenGL ESの拡張機能を知りません。

プログラム可能なパイプラインのみを使用しています。

シェーダーの作成は非常に簡単で、ほとんどの目的で必要なシェーダーは 2 つだけなので、短時間で作成できるはずです。

  • 回転ありまたはなしのテクスチャ シェーダ
  • 回転ありまたはなしのカラー シェーダ

回転は UI をより複雑にします。特にクリッピングは追加のテクニックなしでは困難です。また、コントロールへのタッチ/クリックの登録は、回転していない要素を使用するよりも複雑で遅くなります。

特殊なケースでは、ユーザーがコントロール メソッドをオーバーライドしてDraw独自のシェーダーを使用できるようにしました。これにより、元のコードが非常にシンプルになります。すべてのコントロールに、UIGraphicsさまざまなメソッドを提供することでユーザーが UI を描画できるようにするオブジェクトがあります。およびオーバーロード ( DrawTextureDrawRectangleDrawCharacterDrawText... )

最も重要な部分は、間違いなく穴の UI コントロールを設計し、それらをコーディングすることです。ボタンは非常に簡単ですが、スライド可能なコンテナーのように多くの微調整が必​​要なコンテナーがいくつかあります。次に、データバインディング、イベント処理、アニメーションなどに注意する必要があります....

于 2013-03-30T00:39:02.633 に答える