NUXとは何ですか?


回答:


69

Nuxは、GTK +と同様に、ユーザーインターフェイスの作成に使用されるOpenGLベースのウィジェットツールキットおよびキャンバスです。高レベルでは、nuxは3つのライブラリに分割されます。

  • NuxCore
  • NuxGraphics
  • ヌクス

NuxCoreは、型システム、数学関数、色の定義などの基本的なことを担当します。基本的には、ウィジェットシステムのすべてのプリミティブ型(色、長方形、ポイント)を提供します。ここにはほとんどロジックがありません。これは基本的なライブラリです。

NuxGraphicsは、薄いOpenGL抽象化レイヤーです。一般的なOpenGLパターンの単純化(クリッピング四角形のプッシュとポップ、レンダリングターゲットの変更、状態設定など)を提供しますが、ユーザーが直接OpenGL呼び出しを行うことを直接禁止していません。NuxGraphicsは、テクスチャの抽象化とデータのロード/アンロードを提供します。

Nuxは、NuxCoreおよびNuxGraphicsの上に実装されたウィジェットライブラリです。Nuxには、GTKスタックのほぼすべての主要なウィジェットと、いくつかの構成ウィジェット(カラーピッカー、グラフ、3Dビュー)の複製が含まれています。NuxウィジェットはまだGTKウィジェットと同じレベルの複雑さではなく、高度なテキストレンダリング(修正中)と明確なテーマサポートがありません。

nux内でのレンダリングは、「キャンバススタイル」と表現できます。Nuxは、他のウィジェットの埋め込みに加えて使用できる基本的な描画プリミティブを実行するペインタを提供します。そのため、ウィジェット作成者は、hbarを埋め込んで水平線を作成するのではなく、ペインターを使用してバーを直接描画できます。この方法で画像をレンダリングすることもできます。静的な非反応性の画像をレンダリングするためだけに追加のウィジェットを埋め込むのです。ただし、これは単にウィジェットを埋め込むことを排除するものではありません。

Unityでは、nuxは「埋め込みモード」と呼ばれるもので使用されます。基本的に、nuxは、外部のオープンglコンテキストで自身をペイントする機能を提供します。paint関数を呼び出し、nux自体をバックバッファーにブリットします。その後、必要に応じてその上にペイントし続けることができます(compizにこれを許可することもあります)。組み込みモードでopengl状態管理を行うための機能が提供されています。


1
非常に有益な、ジェイソン。ありがとう。より多くの情報を見つけることができる場所へのリンクはありますか?
SB

GTK +が現在「プライマリ」ツールキットであるように、NuxをUbuntuのプライマリツールキットに「拡張」する目的はありますか?
ShroudedCloud
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.