技術・開発関連
技術・開発関連 : 驚くべき後方互換性を持つ Blender DNA-RNA システム
元記事:Blender DNA- RNA and extreme backward compatibility at BlenderNation
B@rt氏による記事です。
Blender の過去と未来の両方を検証する興味深い技術について。
下記の IRC からの会話の抜粋は、Ton Roosendaal による、Blender の現存の DNA 構造体と、新しい RNA 構造体についての説明です。DNA は見過ごされがちな Blender の機能ですが、そこには驚くべき後方互換性があります。DNA のおかげで1.00のファイルを読むことができるのです!
Ton によると、Q: DNA と RNA は実際に何の役にたっているの?
これらは生物学上の意味と類似しています。Blender DNA は Blender と同じぐらい古い機能で、Blender データの内部構造全体の、タイプをエンコードした長い文字列です。すべての .blend ファイルと、Blender のバイナリに保存されています。この DNA により、新旧のファイルを読むことができるのです。
さらに、Blender は自身のデータタイプに「気づき」ます。例えば、あるポインタを与えると、Blender がその中に "vertex" という名前のアイテムを見つけることができます。これにより、.blend ファイルを1.00の時に保存されたものでさえ読み込み可能にすることができます(このサンプルをためしてみて下さい。Roosendaal オリジナルのものです)。
Q: …で、RNA は?
これは2.50の機能で、DNA システムを Blender データとプロパティを読み書きする API でうまくラップしたシステムです。実際には「メッセンジャーDNA」を意味し、この RNA は DNA を複数の細胞内に作成するため、正確には正しいわけではありません(訳注:この辺ちょっと自信なし)。
私たちの RNA は Python データアクセス API を自動的に生成可能で、将来的にはすべての機能のアニメーション対応や、データの自動ボタンリストビュー、そして依存の処理も行う予定です。
教養のあるエンジニアの多くがこの DNA を嫌がっており、それが過去にあった、XML で置き換えられるという、すべてのうわさの原因です。
まだ XML を優れたものと考えている人がいるようです…皮肉なことに、Googleはすべての内部開発者のために、XML を DNA とよく似たシステムで置き換えたというのに!
ファイルの可読性はないものの、同様の柔軟性を持ち、そして非常に高速です。私が知る限り、Blender はそれを公に行った最初のアプリです。
今回は絶賛ツッコミ受付中です。
- Cycles 誕生から10年、そして Cycles X (2021年04月24日)
- 2020年の Blender 開発者 Top20 (2021年01月06日)
- 大幅に高速化した実験的ビルドの Cycles のデモ (2017年04月08日)
- Blender 2.8 ワークフローリリース計画 (2015年08月17日)
- Blender 2.71でのゲーム開発支援 (2014年06月13日)
- Google Summer of Code 2014 (2014年05月17日)
- OpenSubdiv による GPU テッセレーションの WIP 動画 (2014年05月14日)
- 20年前の Blender コードが公開 (2013年12月28日)
- Blender内部レンダラ改良プロジェクト:BEERと、アンケートのお願い(動画追加) (2013年11月01日)
- Garlicブランチの国際化プロジェクトご協力のお願い (2011年07月20日)
投稿された内容の著作権はコメントの投稿者に帰属します。
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki