Unified Skeletal Animation, RIP IUnknown (Irrlicht3d.org)
Irrlichtは非常に多くのファイル形式を直にサポートしていることで知られています。例えば、アニメーションB3D、DirectX、Milkshapeファイルを、たった2行のC++コードを用いるだけで、ダイレクトに読み込んで表示出来ます。Irrlichtはこれをそれぞれのファイル形式のメッシュアニメーションコードを実装することにより実現しています。これらの実装はお互いに短所と長所を持ち合わせています。しかし、この差異問題について現在は少し修正を加えています。hybridは数日前、Irrlicht svn trunkの中にSkinnedMesh-Branchをマージしました。trunkには多くのIrrlichtエンジンユーザのため、lukeとbitplaneの多大な成果も盛り込まれています。
私は既に開発版irrEditへ、それらの新コードを適用し、リリースされたばかりのirrKlang 1.0にも対応させました。いくつかのテストを済ませ、全て想定内の動作をすることも確認しています。嬉しいですね。3Dエンジンの全機能の70%を使用するような多機能エディタは、かなり良い検証用ソフトになると思います。
また、私はほぼ全てのIrrlicht基底クラスである"IUnknown"を"IReferenceCounted"にリネームしました。この変更は昨日のirrKlangのリリースと共に行いました。リネームの理由のひとつは、Irrlichtの名前空間を使いたがらない人々が"windows.h"をインクルードしたときに、クラス名の衝突が起こる事にあります。その他の理由には、もちろん、IReferenceCountedはIUnknownよりも他所で使用される確率が少ないからです。
原文 - Nikolaus Gebhardt / 翻訳 - 屋森英樹
アニメーションクラスを大改修、確かにとんでもない勢いで進行していました。要するに、「Irrlicht独自のアニメーション定義を作り、読み込み時に統一しよう」と言う事。これで他のアニメーション形式からの変換もやり易くなればいいですね。
もうひとつの変更点、IUnknownの名称変更ですが、名前空間を適切に使っている人には縁のない話です。IUnknownは特にいろんなプロジェクトで見かけます。名前空間を使いわけないと、頻繁にクラス名の衝突が起こって大変ではないでしょうか。ライブラリを使う側は名前空間をもっと有効活用したほうがいいと思います。何が言いたいかと言うと
「ヘッダにusing namespaceは書かないで!」
名前空間の開放はcppファイルの中でお願いします(切実)