シェーダーで 2 つのライン プレーンの交差を行っていますが、レイがヒットしなかった場合と、レイのどれが最短距離であるかを考慮する必要があります。
ただし、次のコードは、有用な情報を提供しないエラーをスローします (そして、間違った方向に向けてしまいます)。texとselectNをintersection.xyとNに設定すると、正常に機能します(もちろん、必要な結果は得られません)。
私はユニティで働いています。
float3 selectN;
float2 tex;
if (dist == 0.0) {
selectN = N2;
tex = intersection2.xy;
} else if (dist2 == 0.0) {
selectN = N;
tex = intersection.xy;
} else if (dist < dist2) {
selectN = N;
tex = intersection.xy;
} else {
selectN = N2;
tex = intersection2.xy;
}