Kanzi 3.9.6 リリースノート¶
新機能 (New features)¶
ジオメトリシェーダーとテッセレーションシェーダーをマテリアルタイプに追加できるようになりました。ジオメトリシェーダーを使用する と テッセレーションシェーダーの使用 を参照してください。
機能改善¶
高度なカラーブレンディングモードが導入されました。高度なカラーブレンディングモード を参照してください。
ソース (Source)
デスティネーション
結果
これらのARGBグラフィック形式を導入しました:
GraphicsFormatA8R8G8B8_SNORMGraphicsFormatA8R8G8B8_UINTGraphicsFormatA8R8G8B8_SINTGraphicsFormatA16R16G16B16_UINTGraphicsFormatA16R16G16B16_SINTGraphicsFormatA16R16G16B16_UNORMGraphicsFormatA16R16G16B16_SNORMGraphicsFormatA16R16G16B16_SFLOATGraphicsFormatA32R32G32B32_UINTGraphicsFormatA32R32G32B32_SINTGraphicsFormatA32R32G32B32_SFLOAT
NodeEffectRenderer2Dによって生成されるレンダーターゲットのサーフェスフォーマット、フィルタリング、およびクリアカラーを定義できるようになりました。Kanzi Java API の改善:
KanziObjectクラスにtryCreateObjectRef(Class<>)関数を追加しました。この関数は、任意のKanziObjectに対して所有するObjectRefを作成しようとします。オブジェクトが古くなったときにStaleObjectExceptionをスローするのを避けるために使用できます。インスタンスのライフタイム管理 を参照してください。TextResourceクラスの関数create(Domain domain, String name, String value)に、値を持つTextResourceを作成できるvalueパラメータを追加しました。ColorWorkflow列挙型にLegacyとLinearの値を追加し、使用中のカラーワークフローを表現しました。Domainクラスに現在のColorWokflowを返すgetColorWorkflow()関数を追加しました。BitmapImageクラスに、アルファチャンネルを色チャンネルと輝度チャンネルにプリマルチプライ処理するpremultiplyAlpha()関数を追加しました。ResourceManager.LoadTaskとResourceManager.ProtocolHandler.Resultのタイプを変更し、リソースを追跡するために強力なObjectRefインスタンスを使用するようにしました。Kanzi Java API カスタムリソースマネージャープロトコルの変更点 を参照してください。ResourceManagerクラスに、リソースマネージャーのメモリ戦略を制御できるsetDefaultMemoryStrategy(MemoryStrategy)およびgetDefaultMemoryStrategy()関数を追加しました。Node2DクラスにgetWorldTransform()およびtransform()関数を追加しました。TaskDispatcherクラスを追加し、他のスレッドから Kanzi UI スレッドにタスクをディスパッチできるようにしました。ResourceDictionaryクラスにJavaからアクセスできるようになりました。Nodeクラスに、ノードのリソースディクショナリにアクセスするためのこれらのメソッドが追加されました。Node.getResourceDictionary()Node.acquireResourceDictionary()Node.setResourceDictionary(ResourceDictionary)Node.setResourceDictionary(ResourceDictionary)Node.notifyResourceDictionaryModified()
Kanzi Android framework (droidfw) の改善:
Kanzi ビューは、現在独立した入力とフォーカス管理を使用しています。これは次のことを意味します。
あるビューでの入力は、別のビューに直接影響を与えません。
モーダルなどのフォーカスオーバーレイは、所有するビューに制限されています。
This improvement changed the structure of the node tree in a Kanzi view. See Kanzi Android framework (droidfw) から Kanzi Java API へのアクセスの変更 and Kanzi Java および Kotlin API にアクセスする.
起動パフォーマンスを向上させるために、
デフォルトの
DeploymentQueueBudgetを Kanzi Android framework (droidfw) アプリケーション用に1フレームあたり5ミリ秒に変更します。DeploymentQueueBudget を参照してください。
依存関係のロードのために、フレームごとの
DeploymentQueueBudgetの利用を改善する。
参照カウントがゼロになると、
KanziRuntime.Referenceは手動で閉じない限り、自動的にペイロードを解放します。
Kanzi Studio は、Java プラグインのランタイムエラーに対して、コールスタックを含む詳細をより多く表示するようになりました。
ActivityCodeBehindクラスに、アクティビティのステータス変更に対するコールバックメソッドが導入されました。これらのメソッドにより、アクティビティの状態が変化した際のコードビハインドの動作を定義しやすくなります。更新されたアクティビティコードビハインドテンプレートでは、
registerStatusChangeOverrideの使用が新しいメソッドに置き換えられています。Data-Driven Exclusive Activity Host のよく使用されるプロパティとして Data Context プロパティを追加しました。
Activity Browser で、次のことができるようになりました。
アクティビティホストを他のアクティビティホストの直下に直接追加します。
アクティビティの下に複数のアクティビティホストを追加します。
Data-Driven Exclusive Activity Host の手動で追加されたアクティビティを削除します。
をクリックして、アイテムの自動レイアウトを切り替えます。アクティビティまたはアクティビティホストの順序と親を変更するには、Activity Browser 内でそのアイテムをドラッグします。ノードの順序を変更する および ノードの親の変更 を参照してください。
Kanzi Studio で Viewport 3D ノードを使用できるようになりました。Viewport 3D ノードを使用すると、3Dシーンで2Dノードをレンダリングできます。Viewport 3D ノードを使用する を参照してください。
Write Log アクションを使用して、プロパティとメッセージ引数の値を印刷できるようになりました。Write Log アクションを使用する を参照してください。
Shadow Effect 2D エフェクトでは、Override Shadow Offset プロパティが導入され、オブジェクトからの影のオフセットを x 軸および y 軸に沿って設定できるようになりました。Shadow Effect 2D エフェクトを使用する を参照してください。
ShaderProgram::CreateInfoクラスで導入されたこれらの関数は、アプリケーションコードで作成するシェーダーとユニフォームをより簡単に使用できるようにします。void addUniformAndBinding(AbstractPropertyType propertyType)は、そのユニフォームの一様でデフォルトのレンダーバリューバインディングを追加します。void addUniformAndBinding(AbstractPropertyType propertyType, ShaderProgram::UniformTransformation transformation)は、指定した変換関数を使用して、そのユニフォームの一様でデフォルトのレンダー値バインディングを追加します。void addFixedUniform(string_view name)は、固定ユニフォーム関数に一様でデフォルトのバインディングを追加し、パススルー変換を行います。void addFixedUniform(string_view name, ShaderProgram::UniformTransformation transformation)は、指定した変換関数を使用して、固定ユニフォーム関数にユニフォームとデフォルトバインディングを追加します。
SPIR-VバイナリシェーダーをOpenGLターゲットで使用できるようになりました。バイナリシェーダーを使用すること を参照してください。
getCameraNormalMatrix()ユニフォームバインディング関数を導入し、オブジェクトの法線をビュー空間に変換するための行列を取得します。getCameraNormalMatrix を参照してください。Kanzi Engine APIを使用して、既存のOpenGLバッファハンドルから
Meshを作成し、既存のMeshからそれらのハンドルをクエリすることができます。ネイティブハンドルからメッシュを作成する を参照してください。Meshクラスにおいて、インスタンシングのサポートを導入しました。Mesh::CreateInfoでは、インスタンスバッファを定義できるようになりました。MeshVertexAttributeでは、属性が頂点ごとであるかインスタンスごとであるかを設定できるようになりました。
Kanzi FreeTypeおよびiTypeフォントエンジンは、ラオ語、クメール語、ミャンマー語、タイ語のワードラッピングをサポートするようになりました。Kanzi は、iTypeフォントエンジンがワードラッピングをサポートするためにタイ語辞書を必要としなくなりましたが、引き続きサポートしています。iTypeフォントエンジンを使用したタイ語テキストのワードラッピングのカスタマイズ および フォントエンジン辞書 を参照してください。
Text Block ノードと Text Box ノードの利用可能なスペースに収まらないテキストを切り詰めるためのオプションが追加されました。テキストを切り詰めるかどうかを設定できるようになりました。
最初、中間、または最後
文字ごとまたは単語ごと
テキストの折り返しと切り捨て と Text Box での切り捨ての設定 を参照してください。
マルチプロジェクトセットアップでは、参照されたプロジェクト間で Screen ノードで作成した Kanzi リソースIDを共有できるようになりました。
On Property Change トリガーに Ignore Initial Value プロパティを追加しました。このプロパティを使用して、トリガーがすでにアタッチされた後に監視されているプロパティの値が変更された場合にのみトリガーを発動させます。
Factory Content Slider では、ノブとレールのスタイルとサイズを設定できるようになりました。Factory Content のスライダーを使用して を参照してください。
コマンドラインから Kanzi Studio を実行する際に、マルチラインパラメータを使用できるようになりました。スクリプトを使用してプロパティ値を設定する を参照してください。
変更点¶
Kanzi は、evdev 仕様に従って
SYN_DROPPEDイベントを処理します。ビルド時間とランタイムパフォーマンスを向上させるため、
kanzi::variantをboost::variantからboost::variant2に変更しました。Kanzi アプリケーションを移行するには、kanzi::variantの変更 を参照してください。ビルド時間を改善するために、不必要なインクルードを削除し、より多くの前方宣言を使用するようにしました。Kanzi アプリケーションを移行するには、ヘッダーファイルの変更 を参照してください。
Kanzi ワークスペースから Cotire CMake モジュールを削除しました。アプリケーションを移行するには、CMake構成ファイルの変更 を参照してください。
SConsを使用して Kanzi アプリケーションをビルドするためのPython 3のサポートを追加しました。
Kanzi application framework (appfw) の Android で:
KanziView.isActiveView()メソッドを変更して、拡張クラスで利用できるようにしました。KanziNativeLibrary内の入力関連の値をネイティブの対応する値に合わせて名前を変更しました。Kanzi application framework (appfw) に関連する入力値の変更 を参照してください。
Kanzi Engine はAndroidプラットフォームで、
KZ_USE_C99_SNPRINTF、KZ_EMULATE_STRTOF、KZ_EMULATE_TO_STRINGの代わりにstd::strtof、std::snprintf、std::to_stringを使用するようになりました。glslangをバージョン12.0.0に更新しました。
Android、Linux、QNX、およびWindowsプラットフォームパッケージを次のように更新しました:
Zlib 1.2.13
FreeType 2.12.1
このバージョンのライブラリでは、スムーズラスターライザのパフォーマンスが10%以上向上しています。場合によっては、これらの変更によりテキストレンダリングに微妙な違いが生じることがあります。
HarfBuzz 5.3.1
このバージョンのライブラリではテキストシェーピングに変更が加えられており、場合によってはテキストレイアウトに小さな違いが生じることがあります。
インテグリティプラットフォームパッケージを更新して、次を使用するようにしました:
Zlib 1.2.13
FreeType 2.12.1
非Androidプラットフォーム向けの
KzsResourceFileクラスは非推奨となりました。ReadOnlyDiskFileクラスが提供する機能を使用してください。Nodeは、アタッチされているScreenノードを認識し、そのScreenからFocusManagerとInputManagerのインスタンスを取得できます。フォーカスと入力管理の変更 を参照してください。kzuEngine構造体は非推奨となり、その機能はApplication、Node、ResourceManager、およびScreenクラスに移行されました。KzuEngineの変更点 を参照してください。kzbファイル形式のバージョンを23.0に変更しました。
ドキュメント¶
Kanzi Android framework (droidfw) で Android リソースをインポートする方法を示す例を追加しました。Kanzi の Android リソース を参照してください。
Kanzi アプリケーションで Android と Kanzi の UI を組み合わせる方法を示す例を追加しました。Kanzi と Android UI のミックス を参照してください。
Scroll View トリガーの使用方法に関する指示を追加しました。Scroll View のスクロールに反応する を参照してください。
Data-Driven Exclusive Activity Host が作成するアクティビティをアクティブ化するさまざまな方法に関する指示を改善しました。データ駆動型エクスクルーシブアクティビティホスト を参照してください。
Activity Browser の使用方法をカバーするトピックを追加しました。アクティビティブラウザの使用 を参照してください。
INTEGRITYでkzbファイルをロードするためのメモリマッピングを有効にする方法についての手順を追加しました。INTEGRITYでのメモリマッピングファイル を参照してください。
これらのチュートリアルを修正し、ターゲットデバイス上で完成したチュートリアルプロジェクトと対話できるようにしました。
注目すべき修正点¶
ID |
ディスクリプション (Description) |
エリア |
|---|---|---|
300598 |
カメラを正投影と絶対座標で使用する際に、3Dノードでクリックイベントが正しく登録されない問題を修正しました。 |
Kanzi Engine |
324230 |
Kanzi でiTypeフォントエンジンとFreeTypeフォントエンジンの間で、複数行の双方向テキストレンダリングに不一致が生じる問題を修正しました。 |
Kanzi Engine |
334589 |
ルートデータコンテキストのサブオブジェクトをターゲットにした場合に、データコンテキストのバインディングが正しく機能しない問題を修正しました。たとえば、 |
Kanzi Engine |
395640 |
Kanzi は、2Dノードを合成する際にフレームバッファをクリアしないようになりました。これにより、タイルレンダリングGPUでのパフォーマンスが向上し、Kanzi が Text Block 2D ノードのテキスト内の文字の一部を切り取ってしまう問題が修正されます。このノードのキャッシュを有効にした場合に発生します。ブラシレンダリングの変更 を参照してください。 |
Kanzi Engine |
428214 |
範囲プロパティタイプを使用するバインディングのパフォーマンス問題を修正しました。 |
Kanzi Engine |
428303 |
Text Box ノードがオーバーフローテキストのみを表示する場合に、Preview が終了してしまう問題を修正しました。 |
Kanzi Engine |
431183 |
Apply Property Action の適用を解除した際に、Active Activity Index プロパティの値が正しく復元されない問題を修正しました。 |
Kanzi Engine |
433346 |
Viewport 2D ノードの祖先に2Dエフェクトを適用した際に、3Dコンテンツのレンダリングに小さなオフセットが生じる問題を修正しました。 |
Kanzi Engine |
433605 |
Click トリガーが、より高い優先度の入力マニピュレータのキャンセルによってクリックの認識がトリガーされた場合に、メッセージ引数を含まない問題を修正しました。 |
Kanzi Engine |
436687 |
バインディング式において、 |
Kanzi Engine |
437894 |
タッチ入力処理における問題を修正し、Kanzi が以下のようになる原因を解消しました。
|
Kanzi Engine |
438534 |
依存関係を持つリソースを扱う際、Kanzi は、 |
Kanzi Engine |
441268 |
Performance HUD は、32ビットメッシュインデックスバッファを使用する際に、正しいGPUメモリ使用量を報告するようになりました。 |
Kanzi Engine |
442127 |
オーバーレイスコープを含む Kanzi Android アプリケーションが終了する原因となっていた問題を修正しました。 |
Kanzi Engine |
442298 |
Shadow Color プロパティの値を黒以外の半透明色に設定したときに、Shadow Effect 2D エフェクトが正しくレンダリングされない問題を修正しました。 |
Kanzi Engine |
442592 |
データソースへの変更が、Data-Driven Exclusive Activity Host 配下のアクティブな Activity に即座に反映されない問題を修正しました。 |
Kanzi Engine |
444596 |
|
Kanzi Java API |
416869 |
Delete Unreferenced Items ウィンドウが、プロジェクトで使用されているにもかかわらず自動生成されたキューブマップテクスチャ画像を表示する問題を修正しました。 |
Kanzi Studio |
420138 |
3Dアクティビティまたはアクティビティホストプレハブをコンポジションで開いたときに、Activity Browser のルートノードを削除できない問題を修正しました。 |
Kanzi Studio |
420151 |
3Dアクティビティまたはアクティビティホストプレハブをコンポジションで開いたときに、Activity Browser のルートノードの名前として |
Kanzi Studio |
440396 |
トリガー以外のノードコンポーネントでスタイルが機能しない問題を修正しました。 |
Kanzi Studio |
441717 |
Screen ノードの名前を変更した後に、Activity Browser がルートアクティビティホストを追加できない問題を修正しました。 |
Kanzi Studio |
442274 |
Activity Browser でアクティビティホストの名前変更を妨げていた問題を修正しました。 |
Kanzi Studio |
444700 |
Kanzi Studio で参照プロジェクトを追加したときに、プロジェクトの |
Kanzi Studio |
445492 |
Kanzi Studio Preview は、Preview に設定したのと同じビルド構成で JAR Kanzi Engine プラグインを使用するようになりました。 |
Kanzi Studio |
420292 |
スライダーのレールのレンダリングに1フレームの遅延を引き起こしていた Factory Content Slider の問題を修正しました。 |
Kanzi framework SDK |
421869 |
Node2Dプラグインの例がAndroidで動作しない問題を修正しました。 |
Kanzi framework SDK |