QML Scene Graph

QML Scene Graph におけるテキスト描画

Published Thursday July 21st, 2011 | Leave a comment
Posted in Qt | Tags: , ,

この記事は Qt Blog の “Text Rendering in the QML Scene Graph” を翻訳したものです。 執筆: Yoann Lopes, 2011年7月15日 少し前に、Gunnar が QML Scene Graph の新機能について 説明しました 。その記事で述べられたように、新機能の一つが “Distance Field Alpha Testing” に基づいたテキスト描画の新技術です。この技術は OpenGL の全てのパワーを活用して、それまでの Qt では成し得なかったスケーラブルでサブピクセル座標、サブピクセルアンチエイリアシングなテキストをほぼノーコストで持つことが可能となります。 まずは、以下のビデオでこの技術がもたらす改善をご覧ください。

Read More

QML Scene Graph が master に

Published Friday June 10th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags: ,

この記事は Qt Blog の “QML Scene Graph in Master” を翻訳したものです。 執筆: Gunnar Sletta 2011年5月31日 5月の終わりに qtdeclarative-staging.git#master に QML Scene Graph を取り込みました。さぁ、モジュール化された Qt 5 リポジトリ からソースコードを取得して、ハックをはじめましょう。 この基本的な使用方法は qmlscene を実行することです。もしくは、QSGView を使用して qml ファイルを実行することも可能です。import する際の名前が QtQuick 2.0 にアップグレードされていますので、qml ファイルも書き換えてください。qml ファイルを書き換えていない場合には、qmlscene は QtQuick 1.0 のファイルを 2.0 としてロードしようとするでしょう。QDeclarativeItem ベースのプラグインはロードされないでしょう。 QML Scene Graph の紹介のために以下の動画を作成しました。 この動画で使用しているソースコードは こちらから 入手可能です。このデモでは QML プレゼンテーションシステム を使用しています。

Read More

QGraphicsView での QML ShaderEffectItem

Published Thursday May 19th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags: ,

この記事は Qt Blog の “QML ShaderEffectItem on QGraphicsView” を翻訳したものです。 執筆: Kim Gronholm 2011年5月3日 ShaderEffectItem をご存じない方は「万能な QML Scene Graph」をご覧ください。 QML Scene Graph 上で動作する QML 2 では GL/GLES シェーダコードと QML を組み合わせるための素晴らしい API を提供します。この API は2つの新しい QML 要素 ShaderEffectItem と ShaderEffectSource になります。この API では、QML 1 の標準要素を使用する限りは実現できなかったエフェクトとアニメーションを簡単に作成することができます。これによりエフェクトの重い処理を GPU で行うことができるようになるため、パフォーマンスも向上し、ハードウェアアクセラレーション無しでは十分なパフォーマンスで動作しなかったようなことも実現できます。 ShaderEffectItem の実装は基本的には QML Scene Graph に依存していないため、我々は QGraphicsView ベースの Qt Quick 1.x […]

Read More

万能な QML Scene Graph

Published Thursday March 24th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags:

この記事は Qt Blog の ”The convenient power of QML Scene Graph” を翻訳したものです。 執筆: Kim Kalland 2011年3月22日 [qt QGraphicsView] 上の QML では素晴らしい UI を作成するために必要十分な速度が得られるように、その機能が制限されています。コンポジションモードや [qt QPainterPath]、[qt QGraphicsEffect]、複雑なブラシのような遅くなりうる機能はサポートされていません。速くてレスポンスの良い UI が作りやすく、遅いものは作りにくくなるように設計しています。 また、OpenGL を活用した新しい シーングラフ ベースの QML バックエンド の開発も進めています。QGraphicsView 上では遅すぎるものでも、シーングラフ上ではハードウェアアクセラレーションの力を借りて高速化できます。例えば、QGraphicsEffect(ぼかし、色変換、陰影付け、半透明処理)で実装されているフィルターはフラグメントシェーダで実装することが出来ます。ページめくり(Page Curl)のエフェクトやジーニーエフェクト(Genie Effect)はバーテックスシェーダで実装できます。C++ でのシェーダエフェクトの実装は退屈な時間でした。その後 Qt/3D に触発されて、シェーダエフェクトをより簡単に実装できる新しい QML の要素 ShaderEffectItem を追加しました。 ShaderEffectItem はカスタムバーテックスシェーダとカスタムフラグメントシェーダを持つ単なる矩形です。その矩形の “width” と ”height” プロパティによって求められる各頂点はバーテックスシェーダに渡されます。(矩形をさらに複数の行と列に分割するためのプロパティもありますが、デフォルトでは四つの頂点を持ちます。) ShaderEffectItem の素晴らしい特徴は、QML の要素に独自に定義したプロパティをシェーダの uniform 変数として利用できるということです。例えば、QML […]

Read More

万能な QML Scene Graph

Published Thursday March 24th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags:

この記事は Qt Blog の ”The convenient power of QML Scene Graph” を翻訳したものです。 執筆: Kim Kalland 2011年3月22日 [qt QGraphicsView] 上の QML では素晴らしい UI を作成するために必要十分な速度が得られるように、その機能が制限されています。コンポジションモードや [qt QPainterPath]、[qt QGraphicsEffect]、複雑なブラシのような遅くなりうる機能はサポートされていません。速くてレスポンスの良い UI が作りやすく、遅いものは作りにくくなるように設計しています。 また、OpenGL を活用した新しい シーングラフ ベースの QML バックエンド の開発も進めています。QGraphicsView 上では遅すぎるものでも、シーングラフ上ではハードウェアアクセラレーションの力を借りて高速化できます。例えば、QGraphicsEffect(ぼかし、色変換、陰影付け、半透明処理)で実装されているフィルターはフラグメントシェーダで実装することが出来ます。ページめくり(Page Curl)のエフェクトやジーニーエフェクト(Genie Effect)はバーテックスシェーダで実装できます。C++ でのシェーダエフェクトの実装は退屈な時間でした。その後 Qt/3D に触発されて、シェーダエフェクトをより簡単に実装できる新しい QML の要素 ShaderEffectItem を追加しました。 ShaderEffectItem はカスタムバーテックスシェーダとカスタムフラグメントシェーダを持つ単なる矩形です。その矩形の “width” と ”height” プロパティによって求められる各頂点はバーテックスシェーダに渡されます。(矩形をさらに複数の行と列に分割するためのプロパティもありますが、デフォルトでは四つの頂点を持ちます。) ShaderEffectItem の素晴らしい特徴は、QML の要素に独自に定義したプロパティをシェーダの uniform 変数として利用できるということです。例えば、QML […]

Read More

万能な QML Scene Graph

Published Thursday March 24th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags:

この記事は Qt Blog の ”The convenient power of QML Scene Graph” を翻訳したものです。 執筆: Kim Kalland 2011年3月22日 [qt QGraphicsView] 上の QML では素晴らしい UI を作成するために必要十分な速度が得られるように、その機能が制限されています。コンポジションモードや [qt QPainterPath]、[qt QGraphicsEffect]、複雑なブラシのような遅くなりうる機能はサポートされていません。速くてレスポンスの良い UI が作りやすく、遅いものは作りにくくなるように設計しています。 また、OpenGL を活用した新しい シーングラフ ベースの QML バックエンド の開発も進めています。QGraphicsView 上では遅すぎるものでも、シーングラフ上ではハードウェアアクセラレーションの力を借りて高速化できます。例えば、QGraphicsEffect(ぼかし、色変換、陰影付け、半透明処理)で実装されているフィルターはフラグメントシェーダで実装することが出来ます。ページめくり(Page Curl)のエフェクトやジーニーエフェクト(Genie Effect)はバーテックスシェーダで実装できます。C++ でのシェーダエフェクトの実装は退屈な時間でした。その後 Qt/3D に触発されて、シェーダエフェクトをより簡単に実装できる新しい QML の要素 ShaderEffectItem を追加しました。 ShaderEffectItem はカスタムバーテックスシェーダとカスタムフラグメントシェーダを持つ単なる矩形です。その矩形の “width” と ”height” プロパティによって求められる各頂点はバーテックスシェーダに渡されます。(矩形をさらに複数の行と列に分割するためのプロパティもありますが、デフォルトでは四つの頂点を持ちます。) ShaderEffectItem の素晴らしい特徴は、QML の要素に独自に定義したプロパティをシェーダの uniform 変数として利用できるということです。例えば、QML […]

Read More
Get started today with Qt Download now