FRED案例展示:繪制表面顆粒(Mie) 散射圖
于大多數散射模型,透射散射和反射散射之間的BSDF值沒有差異,因此無需指定繪圖是透射還是反射。
然而,表面顆粒 (Mie) 散射模型具有向前和向后的散射分量,在BSDF繪圖中需要加以考慮,但FRED中的默認繪圖類型僅適用于反射散射。
本文章中包含的FRED文件加載了一個嵌入式腳本,該腳本將BSDF數據寫入 Microsoft Excel進行交互繪圖,并說明該模型在傳輸過程中的應用。
①腳本概述
創建繪圖的嵌入式腳本利用FRED軟件功能,可調用COM和ScatterEval腳本功能與Microsoft Excel等程序進行交互。該腳本的偽代碼如下:
1.找到 Mie 散射節點并獲取其屬性;
2.創建 Excel 應用程序對象和工作簿文件;
3.開始循環入射角結構程序;
a.設置入射和鏡面方向矢量(考慮透射或反射)。
b.開始循環散射角結構程序。
a.散射角度范圍設置在 -89.5 °至 89.5 °之間。
b.使用ScatterEval函數根據入射向量、鏡面反射向量和散射向量計算 BSDF 值。
c.將BSDF數據導入Excel文件中。
4.在Excel文件中繪制最終結果。
用于入射、鏡面反射和散射方向矢量的坐標系如下圖1所示。在透射的情況下,鏡面方向矢量與入射方向矢量相同。在反射的情況下,鏡面方向矢量在z方向上改變符號。
圖1.方向矢量坐標系
除了設置 Excel 對象和指定方向向量之外,腳本中只有幾個散射模型本身的特定命令。使用特定于 scatter 的腳本命令包括:
FindScatter–返回散射模型的節點編號。
ScatterPrepareForEval–對內部初始化散射模型進行評估。此操作必須在 ScatterEval 命令之前運行。
GetMieScatter– 將mie散射模型的設置加載到 T_MIESCATTER 結構類型中。 ApplyRefl 結構成員則確定是以反射還是透射方式繪制。
ScatterEval– 返回一組給定的入射方向向量、鏡面反射方向向量和散射方向向量的BSDF值。
ScatterTIS– 返回請求模式的總積分散射整合。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















