MRenderUtil::raytrace

前の作業を見直してたら理解が進んだから、忘れる前にメモしておくよ。

PhongShaderのサンプルに載ってた関数についてのメモ。
MRenderUtil::raytrace(shaderからraytraceを扱うための関数)

static MStatus	raytrace(
const MFloatVector& rayOrigin,  // in camera space
const MFloatVector& rayDirection,
const void* objectId,
const void* raySampler,
const short rayDepth,
// storage for return value
MFloatVector& resultColor,
MFloatVector& resultTransparency,
// true for reflected rays, false for refracted rays
const bool isReflectedRays = true
);

スポンサーリンク

パラメータ:

[in] rayOrigin カメラ空間でのレイの始点座標

[in] rayDirection カメラ空間での飛ばすレイの方向

[in] objectID 現在のオブジェクトのID(未使用変数扱いされてたりもする?)

[in] raySampler レンダラから取得するレイトレーサーへのポインタ

[in] rayDepth レンダラから取得するこのレイの深さ(回数)

[in] resultColor 取得する色を格納する参照

[in] resultTransparency 取得する透明度を格納する参照

[in] isReflectedRays trueなら反射レイ(デフォルト)、falseなら屈折レイ


スポンサーリンク

ということで、このサンプルサイトにある説明を訳してみた。

このユーティリティメソッドは、シェーダプラグインからレイトレースを行うための機能を提供します。

このメソッドは、レイの始点と方向を指定すると、単一のレイを飛ばし、交差点の色と透明度を返します。

シェーダープラグインでレイトレースを行うには以下の手順が必要です。:

レンダラにあるraySamplerを使います。これは’raySampler’ (rtr)という名前のinputアトリビュートを作成することで値を取得できます。

レンダラにあるrayDepthを使います。こちらは’rayDepth’ (rd)という名前のinputアトリビュートを作成することで値を取得できます。

Mayaソフトウェアレンダラ設定のrenderGlobal-> renderQuality->raytracingで”Enable Raytracing”のフラグをONにしておきます。

isReflectedRaysというBoolean変数は、飛ばすレイが反射レイか屈折レイかを示すものです。この変数はユーザーがrenderGlobal->renderQualityで設定した反射・屈折回数の制限をレイトレーサーに伝えるためのものです。

オブジェクトをレイトレースの対象とするには、”Visible In Reflections”または”Visible In Refraction”フラグがONに設定されている必要があります。

このメソッドは、Mayaソフトウェアレンダラでのみ動作します。

 

以上、Google翻訳頼りの翻訳でした。


スポンサーリンク

関連記事

Unityの新しいGUI作成システム『uGUI』
アニゴジ関連情報
Blenderでよく使うaddon
OpenCV
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
フルCGのウルトラマン!?
WebGL開発に関する情報が充実してきている
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ
機械学習手法『Random Forest』
クリエイターのための機械学習ツール『Runway ML』
シン・ゴジラのファンアート
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroupを分割する
TVML (TV program Making language)
この連休でZBrushの スキルアップを…
OpenCV 3.1のsfmモジュールのビルド再び
SONY製のニューラルネットワークライブラリ『NNabla』
書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読んだ
ジュラシック・パークのメイキング
UnityのAR FoundationでARKit 3
3Dコンピュータービジョンライブラリ『PyTorch3D』
ZBrush 4R8 リリース!
テスト
ZBrushのTranspose Masterでポーズを付ける
リアルタイムシェーディング技術とその周辺技術をあつかうサイト
SIGGRAPH Asia
ZBrushのお勉強
HD画質の無駄遣い
ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手権 (MITSUBISHI KAGAKU...
複数視点画像から3次元形状を復元するライブラリ『openMVG』
Unreal Engine 5の情報が公開された!
単純に遊びに行くのはだめなのか?
スクラッチで既存のキャラクターを立体化したい
Autodesk Mementoでゴジラを3次元復元する
ZBrushでアヴァンガメラを作ってみる
オープンソースの物理ベースGIレンダラ『appleseed』
ArUco:OpenCVベースのコンパクトなARライブラリ
CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!
サンプルコードにも間違いはある?
Stanford Bunny
布のモデリング
AfterEffectsプラグイン開発

コメント