Yafarayについて

レイトレーシング系の3Dレンダラーです。フリー(自由)、オープンソースで開発されておりWindows,Linux,Mac版があります
Blenderなどのプラグインとしてインストールして使うのが一般的に知られています。
実はBlender以外のアプリケーションから利用したり、yafaray単体で実行するためのスタンドアロン版(yafaray-xml)も一緒に入ってます。
最近も継続的に開発されており、動向を調べてみました

公式サイト , Wikipediaの解説


リリースノート、各OS用バイナリファイルのダウンロード。ソースコードのダウンロードは以下のURLから。
New YafaRay v3.2.0-ALPHA21(2017-03-14) for Development testing(Blender/StandAlone/Sketchup2017)[New!]
Release YafaRay v3.1.0-beta (2016-09-20) for Blender 2.78:
Release YafaRay v3.0.2-beta (2016-07-22) for Blender 2.78:
https://github.com/YafaRay/Blender-Exporter/releases/tag/v3.0.1-beta

開発者用ドキュメント(英語)
開発者ドキュメントの古いバージョン(2009年頃?)が最新版へ順次更新されているようです。


基本的には、3Dオブジェクトやレンダリング設定データを記述したファイルをレンダラーのプログラムに読ませることで画像を生成します。
データはテキスト形式ですが、人間が手書きで記述するのは大変です。
たいていは3Dソフトウェアのプラグインを通じて自動生成/自動連携されることが多いです。
プラグインをつかって生成/連携する場合は、記述データファイルの書き方/実行時のオプションを覚える必要はありません。
忙しい人のためのリリースノートの要約(日本語)[New!]

プラグイン導入とYafarayの使い方 学習メモ(書きかけ)

最近のYafaray

ライセンスアップグレードのための意見交換(2017-5-15)
YafaRayのライセンスは2001年にプロジェクトが始まって以来LGPL 2.1を選択してきました。その理由はフリー/オープンソース及び独占的ソフトウェア両方共から利用できるからです。 しかし近年多く用いられている、特にディズニーやPixer製ライブラリIntel/AMDの新しいレンダリングカーネル はApache 2.0ライセンスの下にリリースされており、YafaRayのLGPL2.1ライセンスとは特許訴訟の問題から互換性がありません。もし互換性を維持しようとするには、YafarRayのライセンスのアップグレードが必要な段階にきています。

ライセンスアップグレードへ向かうための指針はまだはっきりありません。
GPLv3にするかApache2.0にするか...それ以外のライセンスか...。
そのためフォーラムのトピックView topic - New FOS license for the YafaRay project | YafaRay
にて、YafaRayを利用可能なアプリケーション開発者、出力プラグイン開発者やメンテナー、ユーザーなど、できるだけ多くの人から意見を聞きたいそうです。
もし、YafaRayがLGPL2.1から、うまく別のライセンスに移行した場合、OpenSuvdivなど便利なライブラリを利用できるかもしれません。
(参考:ディズニーのオープンソースプロジェクトをまとめた「Disney Open Source」 - GIGAZINE)

YafaRayPOV-Rayの違い

吟味の手がかりになれば幸いです。
(両レンダラーとも対応している機能や特徴は省略しました)
YafarayPovRay
  • バージョン3.2.0(2017年3月現在)
  • 日本語でのまとまった情報が見つかりにくい。
  • PovRayと比較して動作が速いようです。
  • Windows,MacOSX,Linux版があります。
  • マルチパスレンダリングが可能(影のみ/法線/深度マップetc)
  • 記述データ(.xml)がXML形式
    例: <hogehoge parame="3" />
  • 一般的にBlender用プラグインのアーカイブで配布されてます。
    実はアーカイブ内にはスタンドアロン版(yafaray-xml)も
    一緒に収録されています。
    これはYafaray単体で動作させるためのプログラムです。
  • スタンドアロン版にはGUIはありません
YafaRay XML scene parameters
  • パストレーシング
  • フォトンマップ(PM)
  • PM+ファイナルギャザリング
  • 確率的プログレッシブフォトンマッピング
  • 双方向パストレーシング(BPT)
  • IBL&Sunsky(HDRI)
  • 被写界深度
  • ボリュームメトリクス(炎や煙など)
  • 魚眼カメラ
  • バッジ(ロゴや作品情報を画像の下部に描画)
  • マルチパス出力(法線/影/深度等)
  • バージョン3.7.1(2016年8月現在)
  • 日本語によるマニュアルや情報も多い(v3.5と少し古め)。
  • Windows,MacOSX,Linux版があります。
  • Mac版サポートが少し弱く有志による非公式版がある。
    またMacの場合コマンドライン上からGUI版が利用できないので、
    CUI版も用意されている。
  • 記述データ(.pov)がプログラミング言語風。
    Scene Description Language(シーン記述言語:SDL)

    例: #include, hogehoge{ foo bar }
    そのため、マクロや繰り返し、複雑な数式も使える
  • オブジェクト同士のブーリアン演算を記述することが可能
  • 専用のモデリングソフトもあるBishop3D
  • 大学の授業でも使われたりもする。(グラフを書いたりなど)
  • GUI版は入力支援機能付きの簡易エディタもあり、手書きもOK。
  • レイトレーシング
  • フォトンマップ
  • ラジオシティ
  • SubSurface Light Transport(SSLT)
    [↑これはサブサーフェススキャタリングと同じ]
  • SSLT+ラジオシティベースの拡散照明
  • 魚眼や球面、オムニマックス、パノラマ等多彩なカメラ
  • フォグ
  • メディア(大気中のチリや煙、雲)
  • アニメーション機能
マルチパスレンダリングは、レンダリングを複数回やって、法線・深度など特定の要素を抽出し画像としてそれぞれ保存する機能です。
HDR画像として1つのファイルとして保存するほか、複数ファイルとして書き出し可能

これらをPhotoshopなどの画像編集ソフトで、レイヤーとして読み込ませて合成したりすることで、レイトレースが苦手とするリアルタイムなエフェクト調整を制御したりする目的で使われます
(Blenderなど3D統合ソフトが行っているノード処理を、レイヤーを使って手動で構成/合成やるみたいな感じ)

例えば法線マップは、トゥーンシェードの輪郭線を出すのに用いられます。
深度マップ(ノーマルのほう)は被写界深度ぼかしの適用マスクとして利用できます。
影だけを抜き出して、レイヤーを別にすることで、画像を壊さずに影の色を自由に調整できたりします。
ワイヤーフレーム表示もできるようになったようです。

かなり種類があるので、結果を試してみるのもいいかもしれません。

アップデート情報の要約



 バージョン番号の意味
Yafarayのバージョン番号は、3つの数字及びハイフンで区切られた数字で管理されます。
例えば
v4.0.0  : リリース (システムや構造が根本的に変わった時)
v3.3.0  : リリース (新機能が追加された場合)
v3.2.1  : リリース (バグ修正):v3.2.0-1〜3までのバグ修正が含まれている)
v3.2.0-3: (ハイフン以降はYafaRayデイリービルドでの番号、これはあらゆる機能追加やバグ修正があると発行される。)
v3.2.0-2
v3.2.0-1
という感じだそうです。
デイリービルドはリリース以前の段階で最も最新のバージョンです。
動作不安定なこともあります。基本的にテストやバグ報告用。


*忙しい人のための要約 Yafarayアップデート(v3.2.0-ALPHA21) 2017/3/16
----------------------------------------
もっと詳細を知りたい場合はYafaray v3.2.0 -ALPHA21リリースノート日本語訳を参照ください。

●Yafaray v3.20から用途別に3種類リリースされることが判明。
 *Blender-Exporterビルド:(Blenderのプラグインとして動作する。Pythonインターフェース、 Yafaray-xmlも付属)
 *SketchUp 2017ビルド:(SketchUp2017のプラグインとして動作する。Rubyインターフェース、 Yafaray-xmlも付属)
 *Stand Alone ビルド: (コマンドラインから実行可能なスタンドアロンビルド,Yafaray-xmlのみ。特定のソフトに依存しません。)

SketchUp使ってる人はSketchuUP用、Blender使ってる人はBlender用のYafarayをダウンロードするのが良いでしょう。
どちらもYafaray-xmlが付属してるので、Wings3DのようにYafarayのスタンドアロンYafaray-xmlへアクセス可能なソフトウェアとの併用もできます。

●主な仕様変更
*Blender-exporterでPhysicsタブを表示(初歩的な導入)
*どのプラットフォームでも "yafaray-plugin"フォルダにプラグインをインストールできるようにした

【重要】コアプログラムの変更
パストレーシング/フォトンマップにおいてノイズ低減を実現し、光源の数が多くても少なくても、光を均一にサンプリングするようになった。
(現在この仕様変更で様子見して、さらに最適化や仕様の取捨選択を図るとのことです。)

*すべてのインテグレータ、SPPM(確率論的プログレッシブフォトンマッピング)、パスルーレットで非ランダム性反復パターンの修正。
(min_bounces=0のときに、高速レンダリングのためのロシアンルーレットが有効になる)

【重要】テクスチャの補間がイメージハンドラに変更されました
 現在、すべてのイメージバッファは内部的にリニアで、デフォルトで最適化されています。(補間時の色の差異をなくして、双線形/双三次線と三線形またはEWAミップマップでも同じ色になるように最適化)
*この変更により、以降ユーザーは、バンプマップ、ノーマルマップなど、すべてのテクスチャに対して正しい色空間を適用しなければいけません。
*テクスチャミップマップ/レイ微分の初歩的なサポート。イメージハンドラに「大幅な」変更あり。
(これら変更は新たにバグを引き起こす可能性があるので、バグを見つけたら報告されると良いでしょう)

*複数レイヤーを持つEXR画像の保存処理を修正。

*Angular camera: デフォルトのクリッピングの不正により間違ったレンダリングが行われていたのを修正した。
*イメージテクスチャ補間の修正:テクスチャの上端と左端に発生していた奇妙な縞模様の問題を解決。 
*特定の2つの場合においてテクスチャのエッジ補間の最適化を実装した。(単独テクスチャの場合と、テクスチャ繰り返しの場合)
*Qtの初歩的なサポート
*CMake/Swig : Rubyバインディングを有効にした際にBlenderがクラッシュするのを避けるため、Rubyインターフェースを変更。

【重要】CMakeビルドシステムでの大幅な変更
*Gitによるバージョン管理の統合。
*BlenderアドオンとしてYafarayコアをビルドする時にいちいちGitでダウンロードと削除を行わない様にした。
(これはビルト&テスト時間の節約につながりますが、逆にユーザーが自分でBlender-expoterを手動でダウンロードして、UserConfig.txt を自分で編集する必要があります。)

*いくつかの状況で、余分なレンダーパスが多く生成されるバグを修正しました。
*SPPM(確率論的プログレッシブフォトンマッピング) においてフォトン数がほぼ4300万個に達した時に 突然輝度が変化するのを修正。


*忙しい人のための要約 Yafarayアップデート(v3.1.0) 2016/9/20 ---------------------------------------- Yafaray v3.1.0では、yafaray xmlファイルで、バッジのタイトルやコメントにutf8文字列が記述可能になり 作品名や作者名の和文英文併記もできるようになりました。文字の大きさも変更可能です(0〜4倍まで)。 また任意のttfフォントも使用できます(上の例では、テクスチャを板ポリに貼り付けたものをレンダリング。 テキストフォントには、たぬき油性マジックフォントを使用)。 ●機能追加 *新しいレンダリングパス:「ワイヤーフレーム描画パス」が追加された。(設定には2種類あり、描画統合されるタイプと、各パスで分離タイプ。) *新しいレンダリングパス:「トゥーン効果(基本)」が追加された。初歩的なトゥーンレンダリングに対応(マテリアルまたはオブジェクトの輪郭線の強調) *新しいレンダリングパス:自動 「"absolute/numeric" オブジェクト/マテリアルインデックス レンダーパス」が追加された。 *レンダーバッチ(画像の上/下部に埋込み可能な、レンダリング設定情報)で、TTFフォント指定が可能に。またユニコードテキストもサポートされます。 *ワイヤーフレーム及びトゥーンレンダリング時は、あらゆるポリゴンは強制的に三角ポリゴン単位に分割されます(これはどうにもなりません)。 参考:View topic - Basic "toon" effect and Edges Render Passes | YafaRay ●トゥーンレンダリングについて *輪郭生成は発展途上なので、レンダリング結果にアンチエイリアシングや一部輪郭線の喪失が予想されます。 *その対策としてRenderPassタブに微調整パラメータを用意しました。 *輪郭線の太さとスムーズ/量子化のパラメータを調節できます。 *しかしまだまだ「とても初歩的」な品質です。現時点で完璧な輪郭線を期待しないでください! *アニメーションは未テストです。おそらくフレーム間で、線のブレが発生するだろうと予想されます。 ●バグ修正 *Yafaray.orgでDLできるLinux版v3.1.0は、以前(v3.0.2で)発生した「ファイル名が短すぎる」問題に対処済み *ガラス材質マテリアルをより現実に近づけるよう修正 *画像出力時のノイズ軽減 XML版で機能するように修正。 *未保存のシーンをレンダリングする際の問題を修正 *ブレンドマテリアルUIから Additional ray depth を削除(プログラムがこの値を自動で計算してるから) *特定の状況で発生する不具合をいくつか修正。 *忙しい人のための要約 Yafarayアップデート(v1.1.0〜v3.0.x) 2015/11〜2016/7 ---------------------------------------- *Blenderプラグイン版がBlender2.77a(Python3.5)用に更新 *yafaray-xml(同梱のスタンドアロン版)の設定がいくつか追加された。 *WindowsXPとMacOSX10.6が非対応になりました。 *コードベースをC++98からC++11に更新したことで将来的に新しいライブラリや機能を使うことができるらしい。 *古くてメンテされてないQTインターフェースを削除 *自動的に、.blendファイルと同じ場所に、_renderという接尾辭を追加したサブフォルダに画像を保存します *レンダリング速度向上、サンプリングの最適化、フォトン制御やノイズ軽減に関する様々な改善 *ブレンドテクスチャ/マテリアルの対応 *背景IBLのFirefly問題が解決 *Yafarayインストールで他のバージョンおよび派生版と共存ができるようになった、Blenderで使う場合は設定でアクティブにする順序に気をつけて。 *マルチパス対応。立体視、色だけとか、深度マップとか、影のみ抽出したレンダリング画像とか個別にレンダリングできるようになった。 *新しいログシステム。作者名やパラメータなどの細かい出力指定ができるようになりました。 *バッジ(Yafarayロゴやレンダリングパラメータなど設定情報が描かれた、レンダリング内容の上部/下部に埋め込む帯画像)がリニューアル。 *二次ファイル出力(デフォルトでは、レンダリング結果プレビューと同時に結果を画像ファイルとして出力する) *オートセーブ機能 *ユニコードを含むファイルパス(※欧文アクセント文字含む初歩的なもの)対応 *マルチレイヤ対応のEXR形式画像出力(for Blender) *複数PCにノード番号を割り振ってネットワークレンダリングができるらしい

Yafaray覚え書き

v3.2.0 での追加/変更された仕様
------------------------------------
Yafaray v3.2.0 -ALPHA21リリースノート日本語訳


 v3.0.2 から v3.1.0 で追加/変更された機能
------------------------------------
* マテリアル毎の新しいサンプリング要素。背景を再サンプリングするかどうかのパラメータ。この新しいパラメータを最初のパスで*Not* にすると、2番目行こうのAAパスだけを実行します。
* 背景の再サンプリングのオプションとしてhttp://www.yafaray.org/node/214.でリクエストがありました。SPPM(確率論的プログレッシブフォトンマッピング)を除くすべてのインテグレータで動作します
* マテリアル毎のサンプリング要素のオプションは、特定のマテリアルに追加のサンプリング係数を指定します。これは、http://www.yafaray.org/node/746でリクエストがありました。SPPM(確率論的プログレッシブフォトンマッピング)を除くすべてのインテグレータで動作します

* 新たにマテリアルのプロパティとしてワイヤーフレームと同様に、ワイヤーフレームレンダーパスが追加されました。これはhttp://yafaray.org/node/198でリクエストがありました。 

現在、全マテリアル(ブレンドマテリアルを含む)は新しいワイヤーフレームシェーディングパネルを搭載しています。ワイヤーフレームは2種類の用途-最終的なレンダリング画像を得る場合、それから別々なレンダーパスとして画像を得たい場合-で用いられます。
* Embedded in the Render itself: ワイヤーフレーム(と、オプションとしてテクスチャ)の指定量を指定してください。他のオプションとして色、線の太さ、ソフトネスを指定しレンダリングしてください。
* Separate Render Pass: マテリアル中の指定量が0.0に設定して、レンダリングで描画を統合する際に線が表示されないようにします。代わりにマテリアル設定でワイヤーフレームの残りのオプション(色、太さなど)を指定ください。
レンダーパスを有効にして、パスの一つにてデバッグ・ワイヤフレームを選択してください。できればベクターまたは色といったRGBAレンダーパスの一つであると望ましい)

重要事項:
* ワイヤフレーム使用時は、マテリアルが全く労力の節約にならないかもしれません。しかし私はまず第一にワイヤーフレームはフォトリアリスティックレンダリングではないので問題ないと想定しています。
* すべての四角形および多角形ポリゴンは常に(線で分割され)三角形とみなされます。これは残念ながら私は解決することができません。
Yafarayは現在三角メッシュに基づいており、BlenderエクスポータからYafarayに渡される前に、メッシュのすべての四角形や多角形ポリゴンが三角形に変換されます。だからワイヤーフレーム描画では決して四角形は表示されず常に三角形の集合体として表示されます。
* ブレンドマテリアルにおいては、ワイヤフレームシェーディングでテクスチャをマッピングすることはできません。

* 新しいレンダーパス: トゥーン効果基本(Basic Toon effect), これはオブジェクトの輪郭と面の輪郭が対象です。http://www.yafaray.org/community/forum/viewtopic.php?f=23&t=5181をみてください。
"Wireframe" マテリアルオプションと、レンダーパスは、"material" 最適化レベルに応じて計算されます。よりはっきりしたなディテールは三角ポリゴンでしか表現できません(四角形は分割されます)。
"Faces edges"は表層にある辺の輪郭を表すレンダーパスになります。この場合四角ポリゴンはより正確に表示されます。しかし私は現在の設計でサーフェスを計算するために精彩を欠く回りくどい方法を
使用する必要がありました。そのためレンダリング結果の輪郭線が失われていたりアンチエイリアスを含め不完全だったりすることが予想されます。対策として私は可能な限りPenderPassタブに輪郭線生成などの微調整のための多くのパラメータを
用意しました。

"Object edges"もまた同じです。オブジェクトのエッジだけでなく輪郭を描画する、トゥーンレンダーのための便利な機能です。 制限事項は"Faces Edges"と同じです

"Toon" レンダーパス: として上記で得られる結果をパスとして描画します。私は完全な"漫画のような"レンダーパスをもう少しうまく機能させたいと思いました。このレンダーパスは元のイメージを
取得し、漫画のようなイメージを得るために、いくつかのスムージングと色の量子化を適用します。 ユーザーは輪郭線の色を指定するのに、わずかな太さと、スムーズ(smooth)/量子化(quantization)のパラメータを調節することができるでしょう。
これは*とっても初歩的*なトゥーンレンダーパスです。どうか完璧な輪郭線を期待しないでください!
まだ私はアニメーションを作成さえしていません。私はおそらく、あるフレームから次のフレームに移る場合、輪郭線がブレると予想しています。

* Render Badge: TTFフォントとサイズパラメータを設定できるようにしました。 これは、より良いプレゼンテーションを可能にし、要求に応じて、より良いUnicodeのフォントとサポートとフォントを選択することができます。

* 新たに、自動 "absolute/numeric" オブジェクト/マテリアルインデックス レンダーパスを追加。これはhttp://www.yafaray.org/node/745でリクエストされました。

バグフィクス v3.1.0:
--------------------
* 重要:  Yafaray.orgからダウンロード可能なv3.1.0 Linux版ビルドは、http://www.yafaray.org/node/759に記載されているように、v3.0.2で発生した「ファイル名が短すぎます」問題がなくなりました。
* 重要: (たぶん)修正済み。ブレンドマテリアルがメモリ割り当てのバグクラッシュや不正なレンダリング結果いずれかを引き起こした問題を修正。これはhttp://www.yafaray.org/node/763で報告がありました、
* ガラス材質のマテリアル; より現実に近く、反射色/テクスチャを含む全反射処理を修正しました。幾つかのシーンでこれはガラスレンダリングの結果を向上させます。http://www.yafaray.org/node/770参照。
* ボリューム: ある特定の状況における白/黒 領域(負の値)での問題を修正。 http://www.yafaray.org/node/766参照
* Object/Material 絶対インデックスパス : エッジのアンチエイリアシングを回避 http://www.yafaray.org/community/forum/viewtopic.php?f=23&t=5180のリクエスト。
ただし中間値が切り上げ(ceiled)されます。これは多くの可能な基準の一つでありますが、Blender内部でも同じ結果を得ることができるので私はそれを使用します。

* 画像出力のノイズ軽減: XML版インターフェースに denoise パラメータを追加 。これは v3.0.2のXML版では動作していませんでした。
* colorA_t クラスの初期化時の矛盾を修正。(たぶん無いと思うが)いくつかのシーンでアルファの変化を引き起こす可能性があり、我々はこの問題を監視しつづける必要があります
* まだ.blendファイルに保存していないシーンをレンダリングするときの問題を修正しました。シーンがまだ保存されていない場合は、現在、二次出力、プリセットとログはシステムの一時ディレクトリに一時サブフォルダに保存されます
* ブレンドマテリアル UIから Additional ray depthを削除しました。Coreが自動的に構成マテリアル間のAdditional ray depthの最大値を計算しているため、この設定はブレンドマテリアル匂いて全く使用されていません。ユーザーの混乱を避けるためにこれを削除します。




●Yafaray-E(experiment) 
----------------------------------------
重要事項:新しい YafaRay-v3は、既存のYafarayを置き換えることはありません。追加でインストールすることができます。
そのため、Yafarayシーンにおいて、新しいYafaRay-v3をレンダラとして使用するには、Blenderのユーザー設定で有効に切替えておく必要があります。

もし、一緒にいくつかのYafarayのバージョンをお持ちの場合、"念のため"、"最初"に古いバージョンを、"その後"で新しいv3の順番で、有効にしてください。
もしなにか問題が起きた場合、両方とも無効に切り替えてから、Blenderを再起動してから、もう一度正しい順序でYafarayを有効してください。

YafaRay v3は、同時にインストールされた複数のバージョンのYafarayと派生版レンダラを限定的にサポートします。

一部バージョンでは、次のような現象が発生する可能性があります:
	*レンダリング結果が全部真っ黒
	*不定期にクラッシュする
	*YafaRay v3のプラグインがうまく使えなかったり、変な挙動が発生する

もしこれら問題のいずれかが発生した場合Blenderのアドオンフォルダから、他のYafarayのフォルダ(または派生レンダラ)を取り除いで再試行してください。
一般的には、上記の問題をほとんど解決します。


*重要* 現在デフォルトでYafarayがBlenderに描画出力すると同時に、素の画像も保存するようになっています。(二次ファイル出力)これは無効にすることもできます。
それは元の.blendファイルと同じ名前で接尾辞_renderを持ち、のサブフォルダに書き出されます。
また、YafaRayは、デフォルトでは、「出力フォルダ/ファイル名に変更される」でしょう。これは利便性のためであり、無効にすることができますが、
デフォルトのままにした場合、他のレンダラーに切替えたとき、それは特に、混乱を引き起こす可能性があります。


v3.0.1-beta から v3.0.2-beta の変更:2016/07/22現在
----------------------------------------
*GCCv4.8.4でのコンパイル時にImageFilmのロードに失敗するのを修正



v3.0.0-beta から v3.0.1-beta の変更:
----------------------------------------
*重要事項:背景IBL(*1)の照明サンプリングを修正。これは、長い間 問題となっていた背景照明の精度の誤りと、FireFly(*2)が出ていた現象を解決します。(http://yafaray.org/node/752, http://yafaray.org/node/727, http://yafaray.org/node/566).

*上記の修正のおかげで、もはやIBLクランプサンプリングパラメータは必要無くなり、エクスポータから削除されました。

* yafaray-xmlをバッジのタイプを指定せずに使用するとクラッシュする問題を修正。

* yafaray-xml: 新しい "-ccd" "console-colors-disabled"パラメータ. これを指定するとコンソールカラー変更を制御するANSIコードを出力に含まないようにします。ログ表示がすっきりするため、これはサードパーティソフトウェアでの利用に役立ちます.

* Light photon control: サードパーティソフトウェアとの下位互換性を良好に保つため、back controlパラメータ名を "shoot_" から元々の "with_" に戻します

* Render Passes: Blenderエクスポータ以外のエクスポートプラグインのために、 Generic(一般的な)外部レンダーパス を追加しました。

* Render passes: 新たにデバッグパスを追加しました。これは照明環境の推定の問題を診断します。

(*1) IBL:イメージベースドライティング;背景写真の明るさに基づき3D空間の照明配置を自動的にシミュレートする技術)
(*2) FireFly:レンダリング結果に、白いドット抜けがホタルのように散乱する現象のようです。


●主要コードベースの変更について(v3.0.0)
----------------------------------------
・v3からは WindowsXPとMacOSX10.6が非対応となります。
・Blender 2.77a(Python3.5)に更新
・コードベースをC++98からC++11に更新、これにより、メンテナンスが容易になり、今までアクセスできなかった新しいライブラリや、将来的に機能を改善できるようになります。
・ Windows-MinGW C++11 マルチスレッディングシステムでライブラリを使用可能に。これはWindowsにおいてマルチスレッド時のオーバーヘッドを減らすことで、目立ったレンダリングスピードの改善を図ります。
・いくつかのBoostライブラリでフォトンマップファイルの保存/読み込み、ユニコード/マルチプラットフォーム互換性の改善が図られた
・Visual Studio 2013 でのコンパイルを可能に(なんらかの理由で、VS2013でコンパイルされたYafarayは遅くなります)



●Yafaray-E (v3.0.0 BETA)
----------------------------------------
・マルチスレッディングフォトンマップ生成、マルチスレッディングフォトンKDTree(3D空間を効率的に探索可能な分割データ構造)構築:Direct Light+caustic map, Photon Map, SPPM または Path Tracing+photon使用時のレンダリングスピードの向上
・フォトンマップの保存/読込み/再利用機能:カメラのみ動くシーンでのレンダリングスピード向上。参照: http://yafaray.org/node/460.
 警告: フォトンマップファイルの読込み/再利用時に、ユーザーは確実にシーンをマッチさせる責任があります。さもないと、レンダリング結果が間違ってたりクラッシュを起こす場合あさえあります。注意して使用してください。

・イメージファイルのオートセーブ機能。各パスの描画終了後または、ユーザーが設定可能な時間間隔のいずれかで設定可能。これは突然の電源オフやクラッシュによる中断があっても、そうなる前の一部の画像を復元するのに役立つはずです。
・主要なイメージフィルムのオートセーブ/ロード機能。これはレンダリングがすでに終わっていたり、中断している内容に、サンプリングを追加する機能です。
 警告: イメージフィルムのオートロード時に、ユーザーは確実にイメージフィルムシーンをマッチさせる責任があります。さもないと、レンダリング結果が間違ってたり、クラッシュを起こす場合さえあります。注意して使用してください。

・複数のPCを伴ったレンダリングを実行する機能。各コンピュータは異なるノード番号(0〜1000)を持つ必要があり、同じサンプルを重複させないようにしてください。コンピュータのノードはUser Preferences -> YafaRay v3 -> Preferences -> Computer Node で設定することができます。(Blenderに永続的に番号を記憶させるために設定の保存を忘れないでください。)
各コンピュータは、異なるフィルムを生成します。ノードの一つがフィルムを「ロード」するに設定されている場合、それは同じフォルダ内のすべてのフィルムのファイルから(同じベースファイル名とフレーム番号と)を探し出し、個々のフィルムファイルからすべてのサンプルを一緒に結合し、合成画像を作成します。

・OpenCVライブラリと、JPG, PNG, TGA, TIFイメージファイルへのDeNoiseオプションの追加:この機能はHDR/EXR形式には対応してません。
これらパラメータは:
- h (輝度): この値が高ければ、よりノイズが軽減されますが、画像が不鮮明になることがあります。
- h (色差): この値が高ければ、よりノイズが軽減されますが、色が不鮮明になることがあります。
- Mix:これはは、最終的なノイズ除去画像に原画像から(対象となる)ノイズの一部を追加することを意図しています。これは滑らかなグラデーション上での「バンディング」現象を回避します。例えば、例えば0.8と設定すると、最終結果の80%を「ノイズ除去」イメージから、20%をノイズの多い元イメージから反映させることを意味します。


* YafaRay-V3はYafaRayの他の主要バージョンと並行してインストールされるため、他のバージョンと共存可能です。「YafaRay v3は 「DIFFERENT」レンダラとして表示され、それが新しいレンダラーであるかのように、各シーンで選択可能になっています。これは、異なる主要バージョンと同様に、「安定版」と複数の「実験版・派生版」を同時に並行利用して、バージョン間のレンダリング結果や機能を比較検討するために役立つはずです。しかし、このためのサポートは非常に限られております。クラス名等の衝突、登録、dllファイルとライブラリの依存関係の衝突によって、問題が発生した場合は、他のyafarayバージョンや派生版のフォルダを取り除いて、再度お試しください。


*テクスチャ読み込み時のファイルパスに、ユニコード文字(アクセント等)が含まれた場合の初歩的なサポート
参照: http://yafaray.org/node/703 
このサポートは限定的で、一部まだ不具合が起きる可能性があります。


*二次ファイル出力:現在、レンダリングと同時に画像ファイルとしても出力するようになっています。この仕様に依存した機能がいくつかあります。たとえばレンダリング画像に埋め込まれるバッジ(レンダリングパラメータを記した説明書き)です。これは出力されたファイルのみに埋め込まれ、もはやBlender上で表示されることはありません。

*自動的に、.blendファイルと同じ場所に、_renderという接尾辭を追加したサブフォルダに画像を保存します

*現在ユーザーはレンダリングの途中でコンソールからCTRL+Cを実行することができます。これは今の所すべてのモード(Blendeへレンダリング、画像ファイルとしてレンダリング、またはyafaray-xml使用して画像にレンダリング)で働きます。

*yafaray-xml: もはやライブラリまでのパスやプラグインフォルダへのパスを指定する必要はなくなりました。古いウインドウズレジストリへの要件も取り除かれ、もう必要ありません。 
現在 yafaray-xml実行ファイルが存在するフォルダ内からライブラリを、またそのフォルダ内にPluginsというフォルダがあれば、そこからプラグインをロードするようになるでしょう。

* yafaray-xmlの -pstオプションが廃止されました。現在xmlファイルのパラメータを通じてそれが有効になりました。

*新しいログ出力システム
- Blender Exporterでタイトル,作者名,コメントを入力できます。それら情報はログとバッジ(レンダリング画像下部に埋め込まれたパラメータ情報表示)として表示されるでしょう。
- YafaRayのコンパイル情報(プラットフォーム、コンパイラ)とBlenderといくつかのシステム情報は、ユーザーの問題を容易にサポートするためにログに自動的に表示されます。
- コンソールログは、ログ内の直前のイベントが発生した期間、日付と時間を表示します。
- レンダーログは、レンダリング結果と設定情報を含んだテキストファイルとして自動的に出力されます。
- レンダーログは、レンダリング結果と設定情報がリンクとして含まれたHTMLファイルとして情報を自動的に出力することもできます。
- BlenderのExporterにおいてログをコンソール出力するかHTML出力するかを選択することができます。ログの冗長性に関しては"Infor"を選択すると、すっきりした出力に、"Verbose"または"Debug"を選択している場合は、より詳細な出力表示になります。
- YafaRay-xml ではコマンドラインからログファイルの出力設定(txt および/または HTMLが選べる)が追加され、そして古いカスタム文字列は削除されました。


* パラメータバッジの改良:
- 画像を隠したりしない新しいバッジが結果画像に埋め込まれます。二次ファイル出力オプションが有効になっていることが必要です。(BlenderのAPIがレンダリング時に画像を覆うようなバッジを制限すしているので、もはやブレンダー側では表示されません)参考: http://yafaray.org/node/383
- タイトル、作者名などをバッジに表示されるようにExporterに設定できます。
- さらに詳細な情報を表示させたり、バッジ内に何も表示させないようにするには次のURLを参照ください: http://yafaray.org/node/162 http://yafaray.org/node/224
- コントラストが低めのグレーの新しいYafaRayアイコンがバッジに表示されます。 
- バッジ内に表示されるYafaRayアイコンを置き換えるカスタムアイコンを選択することもできます。
- ユニコード文字列をバッジ内に使用することができるようになりました。(アクセント付き文字など).
- バッジの表示される位置を選択できるようになりました: 上部または下部(アイコンは自動的によりより位置に変更されます。)
- バッジにどのくらい詳細に内容を表示させるかを選択できるようになりました。(レンダーパラメータ設定の表示、AA(アンチエイリアス)の設定の有無や併記について)
- レンダリング時間を別々に表示させたり、フォトン発生時間、それに加えて合計時間(マップ生成を含む)を表示することができます。

*新たに、タイルの中心からレンダリングする設定(デフォルト)が追加されました。これは画像の中心から周囲にレンダリングが展開されます。一般的にほとんどのオブジェクトは画像の中央に
あることが多いので、これによりレンダリングを高速に表示することが可能になります。

*新しい暗部検出タイプが追加:カーブ(参照: http://yafaray.org/node/704)

*新たに、レンダリングタイル構造が最適化されました。これは最後の1〜2枚のタイルをレンダリングするまで、次のパスやフレームの開始が待たされるのを回避します。
現在、最後のタイルは待ち時間を減らすために自動的に細分化されます。

*フォトンマップインテグレータに、コースティクス および/または ディフューズフォトン生成を有効/無効にする機能。

*テクスチャのための、新しい mirrorX、mirrorY機能。参照:http://yafaray.org/node/227

*光源のための、きめ細かなフォトン制御 参照:http://yafaray.org/node/475

*自動的に、出力画像やファイル名や現在時間を含むログを保存する機能 参照:http://yafaray.org/node/331

*例えば、ガラスのあるシーンでのレンダリング速度をアップさせるために、マテリアル毎にレイトレーシング深度を設定する機能 参照:http://yafaray.org/node/494

*自動的に出力された各画像にプリセットファイルを保存する機能。ユーザーが「ホーム」フォルダにコピーして、必要に応じてプリセットを再利用できるサブフォルダ"yafaray_userdata/presets/render/"

*プリセットの保存と検索を修正しました。これらは、「ホーム」ユーザーフォルダ内の"yafaray_userdata/presets/render/"(それが存在しない場合は自動的に作成されます)から読み込み/保存を行います。また、現在複数のパラメータはがプリセットに含まれており、古いパラメータは除去されました。


*背景のシャドウキャスティングの有効/無効パラメータ。オプションとして、背景のsky/sun シャドウキャスティングと区別して制御します。

* http://www.yafaray.org/node/720で説明したように、双方向インテグレータのサポートはもはや「非推奨」となっています。

*AAサンプリングの小規模な最適化、特にリサンプルするようなピクセルが何も無い時に発揮します。

*Blenderマテリアルをボリュームメトリックレンダリング 
ガラスや型付ガラスを使用した場合、volumetric absorption が働きません。ガラスや型付ガラスが正しくレンダリングされるようにブレンドマテリアルにvolumetric rendering を追加しました。ただし、制限があります:私はボリュームを「合成」することができないとして、私は配合量の値についての第一の材料からボリューム[0.0から0.5]と第二のボリュームを使用している、異なるボリュームのオプションを持つ2つの素材をブレンドした場合配合量の材料[0.5〜1.0]。これは完全に理想的ですが、しかし個人的には以前よりも良いとは限りません。


*照明のためのWorld HDRIテクスチャを使用した時のノイズを低減するためにSmartIBL機能を追加しました。その機能は"SmartIBL blur" という新しいパラメータを追加しました。これは反射などを使用したWorld テクスチャに影響を与えることなく照明を使うためにWorld テクスチャにぼかしをかけます。
この値が高ければレンダリングプロセスの開始を遅らせることができます。これは http://www.yafaray.org/node/566 and http://www.yafaray.org/node/727 からのリクエストです。

*照明のためのWorld HDRIテクスチャを使用した時のノイズを低減するためにSmartIBLサンプリングクランプ機能を追加しました。しかしいくつかのケースでは、ぶれやノイズを除去するのに十分ではありません、それはぼやけた影が発生します。 IBLクランプはぼかしが必要とされていないので、ノイズを低減するために、時には役立つでしょうが全体的な照明としてみると不正確になるでしょう。
これは http://www.yafaray.org/node/566 and http://www.yafaray.org/node/727 からのリクエストです。

*新たに、テクスチャの色、テクスチャの明るさ、コントラスト、彩度、色相を制御することができるようになりました。
これは  http://www.yafaray.org/node/334 からのリクエストです。

*より興味深いプロシージャルテクスチャを作成できるようにするために、テクスチャにカラーランプを追加しました。
これも http://www.yafaray.org/node/334  からのリクエストです。

*ブレンドされたテクスチャ(これまで線形のみ実装されていた)の残りすべての実装を進める。これは  http://www.yafaray.org/node/313 からのリクエストです。


●Yafaray-E (v2.0〜v2.0.1) 2016/01/05
----------------------------------------
・色、影、など様々な要素毎に描画を実現するパス実装の為の大きな変更。(複数の)レンダリングパスは特にDirectLightとPhoton Mapping最適化のためである。一部のパスはまだ(正常に)動作しません
・レンダービュー実装の為の大きな変更。立体視3D/マルチビューレンダリングの実装
・座標位置と三角形ポリゴンのサイズに基づいた交差バイアスとシャドウバイアスの信頼性とさらなる自動化を実装するための大きな変更
・新しいノイズ制御パラメータ。新しいクランプ機能は、物理的に正確さやリアルさを犠牲にするノイズを減らします。
・JPG,PNG,TGA,TIFF画像テクスチャの最適化。デフォルトで約70%ほどRAM使用量を削減。Optimizedオプションでは画質の劣化なし(16bit TIFFを除く)になります。Compressオプションでは、画像は劣化しますがさらに約20%ほどの削減が見込めます。
・Blenderで読み込み可能な、マルチレイヤ対応のEXR形式の画像出力をサポート
・(Yafarayスタンドアロンの)XMLレンダリングでは、現在 X 秒毎に部分的にレンダリングを保存するオプションをサポート。たぶん外部GUIからXMLインターフェースを作る時に役立つだろう。
・Yafaray内部レンダーパスが、マッピングされた外部レンダーパスを持つことを選択できるようになります。
・オブジェクトID、マテリアルID パス オプションとしてIDカラーパスでレンダリング
・オプジェクトIDとマテリアルIDはマスクすることができます(つまり、オブジェクトのみ、オプジェクト+影、影のみのレンダリングが可能に)
・メッシュ/マッピング/テクスチャリングの問題を同時に発見するための、デバッグパスとUVデバッグパスが使用可能。
・サンプルレートパス、これは、レンダリング中のノイズがある場所にポストプロセッシングフィルタを適用するためのものです。
・SPPM(確率的プログレッシブフォトンマッピング)に分散コースティクスを追加
・型板ガラス(Rough Glass)の散乱を変更
・QTのインターフェースを削除(古く誰もメンテナンスしてなくて役立たないため)
・光源の種類の一部において、双方向最適化処理がレンダリングを真っ黒にしてしまう(ひどい)問題を修正
・ちょっとした処理速度の向上、私ははっきりした変化を期待してないが64bitシステムでの助けになれば良いと願っている。
・マテリアルの特性を変更した際の更新で正しくプレビューされるように修正


●Yafaray Experiment(v1.1.0) 2015/11/06
----------------------------------------
・64bit Mac OSXでのビルドに対応
・Adaptive AA計算のための 新しいResampled Floor パラメータに対応。
・Blend Materialが選択可能に(Yafaray から派生したThe Bounty Renderからのフィードバック)
・Blender書き出し向けの新しいテクスチャサンプリングパラメータが追加
・マテリアル毎に影の影響度を制御するパラメータを追加。これにより、(デフォルトでは)あるマテリアルが他のオブジェクトの影を受けとる、受け取らないを制御できる。



<arolf_infoseek_jp> Tsukubado