エフェクトファイルでフォグフィーチャーを作成しています。ピクセルシェーダーで、カメラの位置と入力の位置からの距離を次のように計算します。
float x = distance(_in.pos3d, CameraPosition);
float fd;
if(Fog)
{
if(x > FogDistance)
fd = ((x-FogDistance) * FogIntensity > 100) ? 100 : ((x-FogDistance) * FogIntensity);
//_in.color = ???;
}
ここで、xはカメラ位置と頂点位置からの距離、fdは霧の色のパーセンテージ、FogDistanceはオブジェクトが霧の影響を受けない距離、FogIntensityは霧の強さです。
私が取得しようとしているのは、霧の色(fd%)を含む色です。たとえば、フォグの色がオレンジで、入力が白で、fdが25%の場合、生成される色は白+ 25%オレンジになります。
編集:ちなみに、メンテナンス不可能な設定コードでごめんなさい。
編集2:2つの透明なレイヤーがあると透明な結果が得られることに気付いたので、質問を少し整理しました。頂点入力のパーセンテージはありません。