问题描述
我正在统一使用Ray Trace Compute Shader 而且我没有找到一种方法来计算空间中只有一点的紫外线位置
到目前为止,这是我的代码:
struct triangle {
float3 P1,P2,P3;
float2 UV1,UV2,UV3;
float suavidade;
int Mat;
};
StructuredBuffer<triangle> tri;
float2 calcularUV (float3 Pos,triangle tri) {
float d1 = distance(Pos,tri.P1);
float d3 = distance(Pos,tri.P2);
float d2 = distance(Pos,tri.P3);
float r1 = (1/d1) / ((1/d1) + (1/d2) + (1/d3));
float r2 = (1/d2) / ((1/d1) + (1/d2) + (1/d3));
float r3 = (1/d3) / ((1/d1) + (1/d2) + (1/d3));
float2 UeV;
UeV = (r1 * tri.UV1) + (r2 * tri.UV2) + (r3 * tri.UV3);
return UeV;
}
这是结果:
我该如何解决?
obs:我来自巴西,对不起,如果我写错了什么
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)