This is the documentation for Enlighten.

6.2. プリコンピュートのプロセス


プリコンピュート ツールは、Windows、Linux、MacOS 向けに事前構築されたバイナリ形式で取得できます。

プリコンピュートは、編集ツールからエクスポートされた Enlighten シーンに対して動作します。

プリコンピュートを実行するには、High Level Build Systemを使用します。HLBS は優れた並行ビルドシステムであり、一般的な Enlighten の実装で使用されるすべての機能を提供します。

プリコンピュートにより、シーン ルートに __Build<scene>_ディレクトリが作成されます。このディレクトリには、Enlighten ランタイム データを含め、ビルドにより生成されたすべての中間ファイルと出力ファイルが含まれます。

インクリメンタル ビルドを活用するには、Enlighten シーンをエクスポートする際に各ファイルに以下を記述します。

  1. ファイルのコンテンツを一時バッファに記述します。
  2. ファイルがディスク上に存在する場合、既存のファイルをロードします。
  3. 既存のファイルが一時バッファと同一の場合、ディスクにはファイルを書き込みません。

ハードウェア

プリコンピュートでは、CPU 負荷の高い計算が数多く行われるため、処理速度の高いコアを多数持つ CPU であれば、最適な動作が実現します。非常に大きなシーンの場合、プリコンピュート タスクに必要な物理メモリは数 GB になる場合があります。

プリコンピュートにかかる時間は、利用可能な論理コアの数にほぼ反比例して減少します。CPU の使用を最大限に高めるには、ハイパースレッディングによって提供される追加の論理コアを利用可能にします。たとえば、ハイパースレッディング搭載の 8 コア CPU は、最大 16 の論理コアで分散プリコンピュートに対応できます。

プリコンピュートの速度を上げるには、多くのマシンに HLBS ビルドを分散することをお勧めします。

ライセンス

Enlighten プリコンピュートを実行するには、有効な Enlighten ライセンス ファイルが必要です。各ライセンス ファイルは一定期間のみ有効です。 

High-level Build Systemのワーカー プロセス GeoPrecomp2 では、License.txt というファイルがないかどうかを最初に同じディレクトリ、その後は各親ディレクトリで確認します。

低レベル プリコンピュート APIは、IPrecompute::SetLicense() を呼び出し、Base64 エンコードのライセンス データを渡すことを要求します。ライセンス ファイルの License: で始まる行の下のデータ ブロックです。

ライセンスのサポートについては、Enlighten サポートにお問い合わせください。

高度な使用方法

完全な柔軟性を求める場合、低レベル プリコンピュート APIを使用して、個別のプリコンピュート タスクを最低レベルで実行することもできます。