SLI Zone

NVIDIA.com Gelato Zone Home
 
Download the free version

Gelatoヒントと裏技

システム、設定、およびインストール Gelatoを使用する

Gelatoチェック
Gelatoが正しくインストールされているかどうかを確認するユーティリティです

インストール後、Mangoのロードに失敗しました
ときどき発生するエラーです

Gelatoおよびその他のレンダリングパッケージ
他のレンダラーを持つマシン上にGelatoをインストールします

Gelato 2.0にテクスチャをベークする
光と影のテクスチャマップを作成します

Sorbettoレイトレーシングの反射と屈折
レイトレーシングを更新する必要がないとき、Sorbettoを加速します

代替の大量注文
垂直およびらせんレンダリングはGelatoではオプションです

モーションブラーでストロボ
ストロボエラーを補正する方法

ディレクトリのすべての.gslファイルをコンパイルする
コンパイルされたGelatoシャドーを整理するユーティリティ



Gelatoチェック

Gelatoた正しく機能していることを確認する手っ取り早い方法は、チェック機能を使用することです。この方法ではシステムの詳細なデバッギングは得られませんが、プライマリファイルが適切にインストールされているかどうか、正しいライセンスを持っているかどうか、正しく作動し互換性のあるGPUとドライバを使っているかどうかについて情報を提供します。Gelatoが作動していることを確認するクイックレンダリングを実行します。

コマンドラインから、以下を実行します:

gelato –check –verbosity 2

Windowsで、[スタート]メニューから[Gelatoチェック]を実行することもできます:

スタート/すべてのプログラム/NVIDIA Corporation/Gelato/Gelatoのチェック

[Gelatoチェック]はこれに似た出力です(出力コンテンツはシステムによって異なります):


インストール後にMangoがロードに失敗する

GelatoとMangoはほとんどの場合、問題なくインストールされます。しかし、ときどき、不明な理由で、MangoがWindowsに正しくインストールされないことがあります。Gelatoの新しいバージョンをインストールしたばかりで、MayaがMangoプラグインを正しくインストールしない場合、またはGelatoシェルフにアイコンが含まれる場合、Mangoを実行するための簡単な解決法があります。

まず、Mayaプラグインマネージャを開き、Mangoがロードされていることを確認します。Mayaで、\Window\Settings/Preferences\Plug-In メニューに移動します。Mangoプラグインがロードされていることを確認します。ボックスにチェックマークが入っていない場合、チェックを入れます。[自動ロード]ボックスにもチェックを入れる必要があります。

これでも問題が解決しない場合、システムを再起動します。Mayaをスタートすると、Mangoは正常にロードされます。

この一時バグは、インストーラがWindows OSと相互に作用する方法に関連し、それを突き止めるすべての努力を妨害します。すべてのGelatoインストール時に強制的に再起動することによって問題を解決することはできますが、このバグに会わない大多数のユーザーに悪影響を与えます。


Gelatoとその他のレンダリングパッケージ

同じマシンのGelatoとその他のレンダラーをインストールする場合、まずGelatoをインストールする必要があります。それ以外の場合、Mangoは正しくロードされません。別のレンダラーの上にGelatoを重ねてインストールすると、Mangoがデフォルトのパスを見つけられるように環境変数を編修する必要があります。他のレンダラーのパスの前にGelatoとMangoのパスが表示されるように、MAYA_SCRIPT_PATHとMAYA_PLUG_IN_PATH環境変数を編修します。Gelatoは他のレンダラーと同じマシンに共存できますが、場合によってはGelatoのパスが他のレンダラーのパスの前にくる必要があります。


Gelatoを使用する

Gelato 2.0でテクスチャをベークする

Gelato 2.0を使用してテクスチャマップに光と影とベークすることができます。Gelato 2.1ではMaya内部のMangoメニューにオプションを追加することを含め、この操作をもっと簡単にするするつもりですが、当面の間、次の手順に従ってテクスチャマップを作成することができます。

  1. 次の2つの方法のいずれかで、空間データベース(SDB)にベークしようとしているものをすべて保存します:
    • 適切なコールをspatialdbsave()に追加して変更のシェーダを修正します。これを実行する方法のレイについては、bake.gslを参照してください。
    • ConnectShadersを使用して直接bake.gslを使い、シェーダの目的の出力をベーキングシェーダの「データ」入力に添付します。
  2. bake.gslから分かるように、spatialdbsave()機能は使用するデータ形式のオプションだけでなく、SDBをレンダリングの最後に書き込む必要があることを指定できます。
  3. SDBファイル名にimageioプラグイン(例えば、.exr、.tifなど)に対応する画像ファイルを示す拡張子があることを確認します。
  4. レンダー。 Gelatoを終了する前に、画像ファイルとしてベークされたデータが書き出されます(spatialdbsave()に送信された希薄なデータを補間します)。
  5. 異なるオブジェクトを異なるSDB(従って、ベークされた異なるテクスチャ)またはすべてを1つのSDB(しかし、テクスチャ空間の非重複領域にあることを確認するかどうかはユーザーの責任です)に保存することができます。
  6. ベーキングを実行しているオブジェクトに対してAttribute('int cull:occlusion', 0), Attribute('int dice:rasterorient', 0), and possibly Attribute('int[2] dice:fixed')をよく調べ、それが抜粋または抽出されたものでない(影になった場所で、頻繁にベークされたデータのみを生成します)ことを確認する価値はあります。

Sorbettoレイトレーシングの反射と屈折

シーンにレイトレースされた反射または屈折またはシャドウマップが含まれる場合、これらは通常すべてのSorbetto再レンダーで更新されます。このデフォルトの動作によりすべての再レンダーに対してもっとも正確な画像が得られますが、正確な反射と屈折、または影を付けるかどうかに依存しない調整を行っている場合、この動作をオフにして再レンダーを大幅に加速アップすることができます。

MangoのGelatoシェルフには、この動作を制御するボタンが2つあります。[レイの再シェード]と[シャドウマップの更新]ボタンをオフに切り替えることにより、レンダリングが大幅に加速されます。目的の光が得られたら、オンに戻し最終レンダーを作成できます。これにより、レンダリングの時間を大幅に節約できます。


代替の大量注文

10,000人の人物すべてと交差するスキャンラインに取りかかるときレンダラーが鋭い音を立てて停止することを検出するためにのみ、大群衆シーンを2.35:1アスペクト比でレンダーしてますか?

たぶん、入力ファイルを修正してカメラマトリクス、レンダーを変更し、完了したときに画像を回転することによって、画像をその側に向けるという裏技をお使いになるのでしょう。

Gelatoではそのような操作は不必要です。ファイルに次のパラメータを挿入します:

Attribute ('string bucketorder', 'vertical')

または、Maya/Mangoを使用している場合、[Render Settings/Gelato/Memory]および[Performance Options/Bucket Order]に移動、デフォルトの「水平」を「垂直」に変更することによってこのパラメータを設定できます。

パラメータを「らせん」に設定して、フレームの中心でレンダーを開始しそれを外側に操作することができます。


モーションブラーでストロボ

Gelato画像にモーションブラーのあるストロボ効果が表示されるとき、一時サンプリング設定を低く抑えすぎている可能性があります。Gelatoによるサンプリングは他のレンダラーに比べきわめて安価で、通常パフォーマンスを大幅に落とすことなくサンプル数を増やすことができます。

Gelatoの2つのモーションブラー画像。1つは一時的品質を8に設定し、もう1つは64に設定します。

動きの速いオブジェクトは、いくつかの時間サンプルがモーションブラーの量を扱えるほど多くない場合、ストロボからフラッシュするか、「打ち抜かれた」いくつかの画像に分かれて表示されます。この場合、「一時的品質」を高める必要があります。

Maya/Mangoで、Render Settings/Gelato/Motion Blurに移動することでこれを実行できます。


ディレクトリのすべての.gslファイルをコンパイルする

以下はディレクトリのすべてのgslファイルをgsoにコンパイルするMakefile (GNU 「make」用)です。コンパイルされた最後の時間から変更されたファイルのみがコンパイルされます。コピーも添付されています。添付されたmakefile(右クリックして[ターゲットの名前を変更して保存]を選択します)を使用してください。以下のテキストから切り取って貼り付けないでください。タブと余白はMakefileで強調されますが、Webページで正確に再現することは困難になります。

.SUFFIXES : .gsl .gso

# INCLUDES holds all the -I commands that specify include directories
# for shader header files. The example below only includes from
# $GELATOHOME/shaders. Amend as necessary for your site defaults.
INCLUDES := -I$(GELATOHOME)/shaders

%.gso: %.gsl
gslc $(INCLUDES) $< -o $@


shader_srcs := ${wildcard *.gsl}
shader_objs := ${patsubst %.gsl,%.gso, ${shader_srcs}}


.PHONY: all clean
all: ${shader_objs}

clean:
rm -f ${shader_objs}